package de.uni_passau.fim.pkjab.model; import java.io.IOException; import de.uni_passau.fim.pkjab.model.Connection; import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.NameCallback; import javax.security.auth.callback.PasswordCallback; import javax.security.auth.callback.UnsupportedCallbackException; class SaslCallbackHandler implements CallbackHandler { private final Connection connection; SaslCallbackHandler(Connection connection) { this.connection = connection; } public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (int i = 0; i < callbacks.length; i++) { if (callbacks[i] != null) { if (callbacks[i] instanceof NameCallback) { ((NameCallback)(callbacks[i])).setName(connection.getJid().getUser()); } else if (callbacks[i] instanceof PasswordCallback) { ((PasswordCallback)callbacks[i]).setPassword(connection.password.toCharArray()); } } } } }