gnu.javax.security.auth.callback

Class AbstractCallbackHandler

Implemented Interfaces:
CallbackHandler
Known Direct Subclasses:
AWTCallbackHandler, ConsoleCallbackHandler, DefaultCallbackHandler, SwingCallbackHandler

public abstract class AbstractCallbackHandler
extends Object
implements CallbackHandler

Field Summary

protected ResourceBundle
messages

Constructor Summary

AbstractCallbackHandler(String name)

Method Summary

static CallbackHandler
getInstance(String type)
Create an instance of CallbackHandler of the designated type from the first Security Provider which offers it.
static CallbackHandler
getInstance(String type, String provider)
Create an instance of CallbackHandler of the designated type from the named security provider.
static CallbackHandler
getInstance(String type, Provider provider)
Create an instance of CallbackHandler of the designated type from the designated security provider.
String
getName()
void
handle(Callback[] callbacks)
protected abstract void
handleChoice(ChoiceCallback callback)
Handles a ChoiceCallback.
protected abstract void
handleConfirmation(ConfirmationCallback callback)
Handles a ConfirmationCallback.
protected abstract void
handleLanguage(LanguageCallback callback)
Handles a LanguageCallback.
protected abstract void
handleName(NameCallback callback)
Handles a NameCallback.
protected void
handleOther(Callback callback)
Handles an unknown callback.
protected abstract void
handlePassword(PasswordCallback callback)
Handles a PasswordCallback.
protected abstract void
handleTextInput(TextInputCallback callback)
Handles a TextInputCallback.
protected abstract void
handleTextOutput(TextOutputCallback callback)
Handles a TextOutputCallback.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

messages

protected final ResourceBundle messages

Constructor Details

AbstractCallbackHandler

protected AbstractCallbackHandler(String name)

Method Details

getInstance

public static CallbackHandler getInstance(String type)
            throws NoSuchAlgorithmException
Create an instance of CallbackHandler of the designated type from the first Security Provider which offers it.
Parameters:
type - the type of callback handler to create.
Returns:
a newly created instance of ClassbackHandler.
Throws:
NoSuchAlgorithmException - if no security provider is found to offer an implementation of CallbackHandler of the designated type.

getInstance

public static CallbackHandler getInstance(String type,
                                          String provider)
            throws NoSuchAlgorithmException,
                   NoSuchProviderException
Create an instance of CallbackHandler of the designated type from the named security provider.
Parameters:
type - the type of callback handler to create.
provider - a named security provider to use.
Returns:
a newly created instance of ClassbackHandler.
Throws:
NoSuchAlgorithmException - if no security provider is found to offer an implementation of CallbackHandler of the designated type.
IllegalArgumentException - if either type or provider is null, or if type is an empty string.

getInstance

public static CallbackHandler getInstance(String type,
                                          Provider provider)
            throws NoSuchAlgorithmException
Create an instance of CallbackHandler of the designated type from the designated security provider.
Parameters:
type - the type of callback handler to create.
provider - a security provider to use.
Returns:
a newly created instance of ClassbackHandler.
Throws:
NoSuchAlgorithmException - if no security provider is found to offer an implementation of CallbackHandler of the designated type.
IllegalArgumentException - if either type or provider is null, or if type is an empty string.

getName

public final String getName()

handle

public void handle(Callback[] callbacks)
            throws IOException,
                   UnsupportedCallbackException
Specified by:
handle in interface CallbackHandler

handleChoice

protected abstract void handleChoice(ChoiceCallback callback)
            throws IOException
Handles a ChoiceCallback.
Parameters:
callback - The choice callback.
Throws:
IOException - If an I/O error occurs.

handleConfirmation

protected abstract void handleConfirmation(ConfirmationCallback callback)
            throws IOException
Parameters:
callback - The confirmation callback.
Throws:
IOException - If an I/O error occurs.

handleLanguage

protected abstract void handleLanguage(LanguageCallback callback)
            throws IOException
Handles a LanguageCallback.
Parameters:
callback - The language callback.
Throws:
IOException - If an I/O error occurs.

handleName

protected abstract void handleName(NameCallback callback)
            throws IOException
Handles a NameCallback.
Parameters:
callback - The name callback.
Throws:
IOException - If an I/O error occurs.

handleOther

protected void handleOther(Callback callback)
            throws IOException,
                   UnsupportedCallbackException
Handles an unknown callback. The default implementation simply throws an UnsupportedCallbackException.
Parameters:
callback - The callback to handle.
Throws:
IOException - If an I/O error occurs.
UnsupportedCallbackException - If the specified callback is not supported.

handlePassword

protected abstract void handlePassword(PasswordCallback callback)
            throws IOException
Handles a PasswordCallback.
Parameters:
callback - The password callback.
Throws:
IOException - If an I/O error occurs.

handleTextInput

protected abstract void handleTextInput(TextInputCallback callback)
            throws IOException
Handles a TextInputCallback.
Parameters:
callback - The text input callback.
Throws:
IOException - If an I/O error occurs.

handleTextOutput

protected abstract void handleTextOutput(TextOutputCallback callback)
            throws IOException
Handles a TextOutputCallback.
Parameters:
callback - The text output callback.
Throws:
IOException - If an I/O error occurs.

AbstractCallbackHandler.java -- Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is a part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.