javax.security.auth.callback

Class ChoiceCallback

Implemented Interfaces:
Callback, Serializable
Known Direct Subclasses:
RealmChoiceCallback

public class ChoiceCallback
extends Object
implements Callback, Serializable

Underlying security services instantiate and pass a ChoiceCallback to the handle() method of a CallbackHandler to display a list of choices and to retrieve the selected choice(s).
See Also:
CallbackHandler, Serialized Form

Constructor Summary

ChoiceCallback(String prompt, String[] choices, int defaultChoice, boolean multipleSelectionsAllowed)
Construct a ChoiceCallback with a prompt, a list of choices, a default choice, and a boolean specifying whether or not multiple selections from the list of choices are allowed.

Method Summary

boolean
allowMultipleSelections()
Get the boolean determining whether multiple selections from the choices list are allowed.
String[]
getChoices()
Get the list of choices.
int
getDefaultChoice()
Get the defaultChoice.
String
getPrompt()
Get the prompt.
int[]
getSelectedIndexes()
Get the selected choices.
void
setSelectedIndex(int selection)
Set the selected choice.
void
setSelectedIndexes(int[] selections)
Set the selected choices.

Methods inherited from class java.lang.Object

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

Constructor Details

ChoiceCallback

public ChoiceCallback(String prompt,
                      String[] choices,
                      int defaultChoice,
                      boolean multipleSelectionsAllowed)
Construct a ChoiceCallback with a prompt, a list of choices, a default choice, and a boolean specifying whether or not multiple selections from the list of choices are allowed.
Parameters:
prompt - the prompt used to describe the list of choices.
choices - the list of choices.
defaultChoice - the choice to be used as the default choice when the list of choices are displayed. This value is represented as an index into the choices array.
multipleSelectionsAllowed - boolean specifying whether or not multiple selections can be made from the list of choices.
Throws:
IllegalArgumentException - if prompt is null, if prompt has a length of 0, if choices is null, if choices has a length of 0, if any element from choices is null, if any element from choices has a length of 0 or if defaultChoice does not fall within the array boundaries of choices.

Method Details

allowMultipleSelections

public boolean allowMultipleSelections()
Get the boolean determining whether multiple selections from the choices list are allowed.
Returns:
whether multiple selections are allowed.

getChoices

public String[] getChoices()
Get the list of choices.
Returns:
the list of choices.

getDefaultChoice

public int getDefaultChoice()
Get the defaultChoice.
Returns:
the defaultChoice, represented as an index into the choices list.

getPrompt

public String getPrompt()
Get the prompt.
Returns:
the prompt.

getSelectedIndexes

public int[] getSelectedIndexes()
Get the selected choices.
Returns:
the selected choices, represented as indexes into the choices list.

setSelectedIndex

public void setSelectedIndex(int selection)
Set the selected choice.
Parameters:
selection - the selection represented as an index into the choices list.

setSelectedIndexes

public void setSelectedIndexes(int[] selections)
Set the selected choices.
Parameters:
selections - the selections represented as indexes into the choices list.
Throws:
UnsupportedOperationException - if multiple selections are not allowed, as determined by allowMultipleSelections.

ChoiceCallback.java -- callback for a choice of values. Copyright (C) 2003, Free Software Foundation, Inc. This file is 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, 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; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, 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.