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 "jakarta.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, FACETS_KEY, 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, getValidatorMessage, getValidators, getValue, getValueChangeListeners, isEmpty, isImmediate, isLocalValueSet, isRequired, isValid, markInitialState, processDecodes, processUpdates, removeValidator, removeValueChangeListener, resetValue, restoreState, saveState, setConverterMessage, setImmediate, setLocalValueSet, setRequired, setRequiredMessage, setSubmittedValue, setValid, setValidatorMessage, setValue, 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, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, 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