Package org.jboss.as.appclient.service

Source Code of org.jboss.as.appclient.service.RealmCallbackWrapper

package org.jboss.as.appclient.service;

import java.io.IOException;

import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
import javax.security.sasl.RealmCallback;

/**
* Wrapper for user provided callback handlers that may not know how to handle {@link javax.security.sasl.RealmCallback}
*
* @author Stuart Douglas
*/
public class RealmCallbackWrapper implements CallbackHandler {


    private final CallbackHandler callbackHandler;

    public RealmCallbackWrapper(final CallbackHandler callbackHandler) {
        this.callbackHandler = callbackHandler;
    }

    @Override
    public void handle(final Callback[] callbacks) throws IOException, UnsupportedCallbackException {
        callbackHandler.handle(callbacks);
        for(Callback callback : callbacks) {
            if(callback instanceof RealmCallback) {
                final RealmCallback realmCallback = (RealmCallback)callback;
                if(realmCallback.getText() == null) {
                    realmCallback.setText(realmCallback.getDefaultText());
                }
            }
        }
    }
}
TOP

Related Classes of org.jboss.as.appclient.service.RealmCallbackWrapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.