package org.jolokia.util; import java.io.IOException; import javax.security.auth.callback.*; /** * JAAS Callback handler setting user and password programtically. * * @author roland * @since 26.05.14 */ public final class UserPasswordCallbackHandler implements CallbackHandler { private final String username; private final String password; /** * Callback handler for the given user and password * @param username * @param password */ public UserPasswordCallbackHandler(String username, String password) { this.username = username; this.password = password; } /** {@inheritDoc} */ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (Callback callback : callbacks) { if (callback instanceof NameCallback) { ((NameCallback) callback).setName(username); } else if (callback instanceof PasswordCallback) { ((PasswordCallback) callback).setPassword(password.toCharArray()); } else { throw new UnsupportedCallbackException(callback); } } } }