FileDocCategorySizeDatePackage
ConfirmationCallback.javaAPI DocJava SE 5 API16313Fri Aug 26 14:57:46 BST 2005javax.security.auth.callback

ConfirmationCallback

public class ConfirmationCallback extends Object implements Callback, Serializable

Underlying security services instantiate and pass a ConfirmationCallback to the handle method of a CallbackHandler to ask for YES/NO, OK/CANCEL, YES/NO/CANCEL or other similar confirmations.

version
1.16, 12/19/03
see
javax.security.auth.callback.CallbackHandler

Fields Summary
private static final long
serialVersionUID
public static final int
UNSPECIFIED_OPTION
Unspecified option type.

The getOptionType method returns this value if this ConfirmationCallback was instantiated with options instead of an optionType.

public static final int
YES_NO_OPTION
YES/NO confirmation option.

An underlying security service specifies this as the optionType to a ConfirmationCallback constructor if it requires a confirmation which can be answered with either YES or NO.

public static final int
YES_NO_CANCEL_OPTION
YES/NO/CANCEL confirmation confirmation option.

An underlying security service specifies this as the optionType to a ConfirmationCallback constructor if it requires a confirmation which can be answered with either YES, NO or CANCEL.

public static final int
OK_CANCEL_OPTION
OK/CANCEL confirmation confirmation option.

An underlying security service specifies this as the optionType to a ConfirmationCallback constructor if it requires a confirmation which can be answered with either OK or CANCEL.

public static final int
YES
YES option.

If an optionType was specified to this ConfirmationCallback, this option may be specified as a defaultOption or returned as the selected index.

public static final int
NO
NO option.

If an optionType was specified to this ConfirmationCallback, this option may be specified as a defaultOption or returned as the selected index.

public static final int
CANCEL
CANCEL option.

If an optionType was specified to this ConfirmationCallback, this option may be specified as a defaultOption or returned as the selected index.

public static final int
OK
OK option.

If an optionType was specified to this ConfirmationCallback, this option may be specified as a defaultOption or returned as the selected index.

public static final int
INFORMATION
INFORMATION message type.
public static final int
WARNING
WARNING message type.
public static final int
ERROR
ERROR message type.
private String
prompt
private int
messageType
private int
optionType
private int
defaultOption
private String[]
options
private int
selection
Constructors Summary
public ConfirmationCallback(int messageType, int optionType, int defaultOption)
Construct a ConfirmationCallback with a message type, an option type and a default option.

Underlying security services use this constructor if they require either a YES/NO, YES/NO/CANCEL or OK/CANCEL confirmation.

param
messageType the message type (INFORMATION, WARNING or ERROR).

param
optionType the option type (YES_NO_OPTION, YES_NO_CANCEL_OPTION or OK_CANCEL_OPTION).

param
defaultOption the default option from the provided optionType (YES, NO, CANCEL or OK).
exception
IllegalArgumentException if messageType is not either INFORMATION, WARNING, or ERROR, if optionType is not either YES_NO_OPTION, YES_NO_CANCEL_OPTION, or OK_CANCEL_OPTION, or if defaultOption does not correspond to one of the options in optionType.


                                          			         			 			      			    			  			       			 			      						 						  			        			     
      
                    

	if (messageType < INFORMATION || messageType > ERROR ||
	    optionType < YES_NO_OPTION || optionType > OK_CANCEL_OPTION)
	    throw new IllegalArgumentException();

	switch (optionType) {
	case YES_NO_OPTION:
	    if (defaultOption != YES && defaultOption != NO)
		throw new IllegalArgumentException();
	    break;
	case YES_NO_CANCEL_OPTION:
	    if (defaultOption != YES && defaultOption != NO &&
		defaultOption != CANCEL)
		throw new IllegalArgumentException();
	    break;
	case OK_CANCEL_OPTION:
	    if (defaultOption != OK && defaultOption != CANCEL)
		throw new IllegalArgumentException();
	    break;
	}
		 
	this.messageType = messageType;
	this.optionType = optionType;
	this.defaultOption = defaultOption;
    
public ConfirmationCallback(int messageType, String[] options, int defaultOption)
Construct a ConfirmationCallback with a message type, a list of options and a default option.

Underlying security services use this constructor if they require a confirmation different from the available preset confirmations provided (for example, CONTINUE/ABORT or STOP/GO). The confirmation options are listed in the options array, and are displayed by the CallbackHandler implementation in a manner consistent with the way preset options are displayed.

param
messageType the message type (INFORMATION, WARNING or ERROR).

param
options the list of confirmation options.

param
defaultOption the default option, represented as an index into the options array.
exception
IllegalArgumentException if messageType is not either INFORMATION, WARNING, or ERROR, if options is null, if options has a length of 0, if any element from options is null, if any element from options has a length of 0, or if defaultOption does not lie within the array boundaries of options.


	if (messageType < INFORMATION || messageType > ERROR ||
	    options == null || options.length == 0 ||
	    defaultOption < 0 || defaultOption >= options.length)
	    throw new IllegalArgumentException();

	for (int i = 0; i < options.length; i++) {
	    if (options[i] == null || options[i].length() == 0)
		throw new IllegalArgumentException();
	}
		 
	this.messageType = messageType;
	this.options = options;
	this.defaultOption = defaultOption;
    
public ConfirmationCallback(String prompt, int messageType, int optionType, int defaultOption)
Construct a ConfirmationCallback with a prompt, message type, an option type and a default option.

Underlying security services use this constructor if they require either a YES/NO, YES/NO/CANCEL or OK/CANCEL confirmation.

param
prompt the prompt used to describe the list of options.

param
messageType the message type (INFORMATION, WARNING or ERROR).

param
optionType the option type (YES_NO_OPTION, YES_NO_CANCEL_OPTION or OK_CANCEL_OPTION).

param
defaultOption the default option from the provided optionType (YES, NO, CANCEL or OK).
exception
IllegalArgumentException if prompt is null, if prompt has a length of 0, if messageType is not either INFORMATION, WARNING, or ERROR, if optionType is not either YES_NO_OPTION, YES_NO_CANCEL_OPTION, or OK_CANCEL_OPTION, or if defaultOption does not correspond to one of the options in optionType.


	if (prompt == null || prompt.length() == 0 ||
	    messageType < INFORMATION || messageType > ERROR ||
	    optionType < YES_NO_OPTION || optionType > OK_CANCEL_OPTION)
	    throw new IllegalArgumentException();

	switch (optionType) {
	case YES_NO_OPTION:
	    if (defaultOption != YES && defaultOption != NO)
		throw new IllegalArgumentException();
	    break;
	case YES_NO_CANCEL_OPTION:
	    if (defaultOption != YES && defaultOption != NO &&
		defaultOption != CANCEL)
		throw new IllegalArgumentException();
	    break;
	case OK_CANCEL_OPTION:
	    if (defaultOption != OK && defaultOption != CANCEL)
		throw new IllegalArgumentException();
	    break;
	}
		 
	this.prompt = prompt;
	this.messageType = messageType;
	this.optionType = optionType;
	this.defaultOption = defaultOption;
    
public ConfirmationCallback(String prompt, int messageType, String[] options, int defaultOption)
Construct a ConfirmationCallback with a prompt, message type, a list of options and a default option.

Underlying security services use this constructor if they require a confirmation different from the available preset confirmations provided (for example, CONTINUE/ABORT or STOP/GO). The confirmation options are listed in the options array, and are displayed by the CallbackHandler implementation in a manner consistent with the way preset options are displayed.

param
prompt the prompt used to describe the list of options.

param
messageType the message type (INFORMATION, WARNING or ERROR).

param
options the list of confirmation options.

param
defaultOption the default option, represented as an index into the options array.
exception
IllegalArgumentException if prompt is null, if prompt has a length of 0, if messageType is not either INFORMATION, WARNING, or ERROR, if options is null, if options has a length of 0, if any element from options is null, if any element from options has a length of 0, or if defaultOption does not lie within the array boundaries of options.


	if (prompt == null || prompt.length() == 0 ||
	    messageType < INFORMATION || messageType > ERROR ||
	    options == null || options.length == 0 ||
	    defaultOption < 0 || defaultOption >= options.length)
	    throw new IllegalArgumentException();

	for (int i = 0; i < options.length; i++) {
	    if (options[i] == null || options[i].length() == 0)
		throw new IllegalArgumentException();
	}
		 
	this.prompt = prompt;
	this.messageType = messageType;
	this.options = options;
	this.defaultOption = defaultOption;
    
Methods Summary
public intgetDefaultOption()
Get the default option.

return
the default option, represented as YES, NO, OK or CANCEL if an optionType was specified to the constructor of this ConfirmationCallback. Otherwise, this method returns the default option as an index into the options array specified to the constructor of this ConfirmationCallback.

	return defaultOption;
    
public intgetMessageType()
Get the message type.

return
the message type (INFORMATION, WARNING or ERROR).

	return messageType;
    
public intgetOptionType()
Get the option type.

If this method returns UNSPECIFIED_OPTION, then this ConfirmationCallback was instantiated with options instead of an optionType. In this case, invoke the getOptions method to determine which confirmation options to display.

return
the option type (YES_NO_OPTION, YES_NO_CANCEL_OPTION or OK_CANCEL_OPTION), or UNSPECIFIED_OPTION if this ConfirmationCallback was instantiated with options instead of an optionType.

	return optionType;
    
public java.lang.String[]getOptions()
Get the confirmation options.

return
the list of confirmation options, or null if this ConfirmationCallback was instantiated with an optionType instead of options.

	return options;
    
public java.lang.StringgetPrompt()
Get the prompt.

return
the prompt, or null if this ConfirmationCallback was instantiated without a prompt.

	return prompt;
    
public intgetSelectedIndex()
Get the selected confirmation option.

return
the selected confirmation option represented as YES, NO, OK or CANCEL if an optionType was specified to the constructor of this ConfirmationCallback. Otherwise, this method returns the selected confirmation option as an index into the options array specified to the constructor of this ConfirmationCallback.
see
#setSelectedIndex

	return selection;
    
public voidsetSelectedIndex(int selection)
Set the selected confirmation option.

param
selection the selection represented as YES, NO, OK or CANCEL if an optionType was specified to the constructor of this ConfirmationCallback. Otherwise, the selection represents the index into the options array specified to the constructor of this ConfirmationCallback.
see
#getSelectedIndex

	this.selection = selection;