public class UISelectOne extends UIInput
UISelectOne is a
UIComponent
that represents the user's choice of zero or one
items from among a discrete set of available options. The user can
modify the selected value. Optionally, the component can be
preconfigured with a currently selected item, by storing it as the
value
property of the component.
This component is generally rendered as a select box or a group of radio buttons.
By default, the rendererType
property is set to
"javax.faces.Menu
". This value can be changed by
calling the setRendererType()
method.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COMPONENT_FAMILY
The standard component family for this component.
|
static java.lang.String |
COMPONENT_TYPE
The standard component type for this component.
|
static java.lang.String |
INVALID_MESSAGE_ID
The message identifier of the
FacesMessage to be created if
a value not matching the available options is specified. |
ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE, CONVERSION_MESSAGE_ID, EMPTY_STRING_AS_NULL_PARAM_NAME, REQUIRED_MESSAGE_ID, UPDATE_MESSAGE_ID, VALIDATE_EMPTY_FIELDS_PARAM_NAME
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY
Constructor and Description |
---|
UISelectOne()
Create a new
UISelectOne instance with default property
values. |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getFamily()
Return the identifier of the component family to which this component belongs. |
java.lang.String |
getGroup()
Returns the name of the radio button group. |
void |
processValidators(FacesContext context)
If |
void |
setGroup(java.lang.String group)
Sets the name of the radio button group. |
protected void |
validateValue(FacesContext context,
java.lang.Object value)
In addition to the
standard validation behavior inherited from
UIInput ,
ensure that any specified value is equal to one of the available
options. |
addValidator, addValueChangeListener, clearInitialState, compareValues, decode, getConvertedValue, getConverterMessage, getRequiredMessage, getSubmittedValue, getValidator, getValidatorMessage, getValidators, getValue, getValueChangeListener, getValueChangeListeners, isEmpty, isImmediate, isLocalValueSet, isRequired, isValid, markInitialState, processDecodes, processUpdates, removeValidator, removeValueChangeListener, resetValue, restoreState, saveState, setConverterMessage, setImmediate, setLocalValueSet, setRequired, setRequiredMessage, setSubmittedValue, setValid, setValidator, setValidatorMessage, setValue, setValueChangeListener, updateModel, validate
getConverter, getLocalValue, setConverter
addClientBehavior, addFacesListener, broadcast, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression, visitTree
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getConverter, getLocalValue, setConverter
public static final java.lang.String COMPONENT_TYPE
The standard component type for this component.
public static final java.lang.String COMPONENT_FAMILY
The standard component family for this component.
public static final java.lang.String INVALID_MESSAGE_ID
The message identifier of the
FacesMessage
to be created if
a value not matching the available options is specified.
public UISelectOne()
Create a new UISelectOne
instance with default property
values.
public java.lang.String getFamily()
UIComponent
Return the identifier of the component family to which this component belongs. This
identifier, in conjunction with the value of the rendererType
property, may be used to select the appropriate Renderer
for this component
instance. Note this method should NOT return null
public java.lang.String getGroup()
Returns the name of the radio button group.
Radio button components having the same group within a UIForm
parent will uncheck all others when
being checked. If the value
attribute is absent then the one from first component of the group will
be used. If the UISelectItem
child is absent then the one from first component of the group will be
used.
public void setGroup(java.lang.String group)
Sets the name of the radio button group.
group
- The name of the radio button group.public void processValidators(FacesContext context)
If getGroup()
is set, and UIInput.getSubmittedValue()
is empty, and at
least one other component having the same group within a UIForm
parent has a non-empty
UIInput.getSubmittedValue()
or returns true
on UIInput.isLocalValueSet()
or returns
false
on UIInput.isValid()
, then skip validation for current component, else perform standard
superclass processing by super.processValidators(context)
.
processValidators
in class UIInput
context
- FacesContext
for the request we are processingPreValidateEvent
,
PostValidateEvent
protected void validateValue(FacesContext context, java.lang.Object value)
In addition to the
standard validation behavior inherited from UIInput
,
ensure that any specified value is equal to one of the available
options. Before comparing each option, coerce the option value
type to the type of this component's value following the
Expression Language coercion rules. If the specified value is
not equal to any of the options, enqueue an error message and set
the valid
property to false
.
If UIInput.isRequired()
returns
true
, and the current value is equal to the value of
an inner UISelectItem
whose UISelectItem.isNoSelectionOption()
method returns
true
, enqueue an error message and set the
valid
property to false
.
validateValue
in class UIInput
context
- The FacesContext
for the current requestvalue
- The converted value to test for membership.java.lang.NullPointerException
- if context
is null