Class UISelectOne
- java.lang.Object
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- jakarta.faces.component.UIOutput
-
- jakarta.faces.component.UIInput
-
- jakarta.faces.component.UISelectOne
-
- All Implemented Interfaces:
EditableValueHolder
,PartialStateHolder
,StateHolder
,TransientStateHolder
,ValueHolder
,ComponentSystemEventListener
,FacesListener
,SystemEventListenerHolder
,java.util.EventListener
- Direct Known Subclasses:
HtmlSelectOneListbox
,HtmlSelectOneMenu
,HtmlSelectOneRadio
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 thevalue
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 thesetRendererType()
method.
-
-
Field Summary
Fields Modifier and Type Field 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 theFacesMessage
to be created if a value not matching the available options is specified.-
Fields inherited from class jakarta.faces.component.UIInput
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
-
Fields inherited from class jakarta.faces.component.UIComponent
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 Summary
Constructors Constructor Description UISelectOne()
Create a newUISelectOne
instance with default property values.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
IfgetGroup()
is set, andUIInput.getSubmittedValue()
is empty, and at least one other component having the same group within aUIForm
parent has a non-emptyUIInput.getSubmittedValue()
or returnstrue
onUIInput.isLocalValueSet()
or returnsfalse
onUIInput.isValid()
, then skip validation for current component, else perform standard superclass processing bysuper.processValidators(context)
.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 fromUIInput
, ensure that any specified value is equal to one of the available options.-
Methods inherited from class jakarta.faces.component.UIInput
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
-
Methods inherited from class jakarta.faces.component.UIOutput
getConverter, getLocalValue, setConverter
-
Methods inherited from class jakarta.faces.component.UIComponentBase
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
-
Methods inherited from class jakarta.faces.component.UIComponent
addToDescendantMarkIdCache, encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getDescendantMarkIdCache, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, removeFromDescendantMarkIdCache, restoreTransientState, saveTransientState, setInView, setValueExpression, visitTree
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jakarta.faces.component.ValueHolder
getConverter, getLocalValue, setConverter
-
-
-
-
Field Detail
-
COMPONENT_TYPE
public static final java.lang.String COMPONENT_TYPE
The standard component type for this component.
- See Also:
- Constant Field Values
-
COMPONENT_FAMILY
public static final java.lang.String COMPONENT_FAMILY
The standard component family for this component.
- See Also:
- Constant Field Values
-
INVALID_MESSAGE_ID
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.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
UISelectOne
public UISelectOne()
Create a new
UISelectOne
instance with default property values.
-
-
Method Detail
-
getFamily
public java.lang.String getFamily()
Description copied from class: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 appropriateRenderer
for this component instance. Note this method should NOT returnnull
-
getGroup
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 thevalue
attribute is absent then the one from first component of the group will be used. If theUISelectItem
child is absent then the one from first component of the group will be used.- Returns:
- The name of the radio button group.
- Since:
- 2.3
-
setGroup
public void setGroup(java.lang.String group)
Sets the name of the radio button group.
- Parameters:
group
- The name of the radio button group.- Since:
- 2.3
-
processValidators
public void processValidators(FacesContext context)
If
getGroup()
is set, andUIInput.getSubmittedValue()
is empty, and at least one other component having the same group within aUIForm
parent has a non-emptyUIInput.getSubmittedValue()
or returnstrue
onUIInput.isLocalValueSet()
or returnsfalse
onUIInput.isValid()
, then skip validation for current component, else perform standard superclass processing bysuper.processValidators(context)
.- Overrides:
processValidators
in classUIInput
- Parameters:
context
-FacesContext
for the request we are processing- See Also:
PreValidateEvent
,PostValidateEvent
-
validateValue
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 thevalid
property tofalse
.If
UIInput.isRequired()
returnstrue
, and the current value is equal to the value of an innerUISelectItem
whoseUISelectItem.isNoSelectionOption()
method returnstrue
, enqueue an error message and set thevalid
property tofalse
.- Overrides:
validateValue
in classUIInput
- Parameters:
context
- TheFacesContext
for the current requestvalue
- The converted value to test for membership.- Throws:
java.lang.NullPointerException
- ifcontext
isnull
-
-