Class UISelectMany
- java.lang.Object
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- jakarta.faces.component.UIOutput
-
- jakarta.faces.component.UIInput
-
- jakarta.faces.component.UISelectMany
-
- All Implemented Interfaces:
EditableValueHolder
,PartialStateHolder
,StateHolder
,TransientStateHolder
,ValueHolder
,ComponentSystemEventListener
,FacesListener
,SystemEventListenerHolder
,EventListener
- Direct Known Subclasses:
HtmlSelectManyCheckbox
,HtmlSelectManyListbox
,HtmlSelectManyMenu
@JSFComponent(defaultRendererType="jakarta.faces.Listbox") @JSFJspProperty(name="hideNoSelectionOption",returnType="boolean") @JSFJspProperty(name="collectionType",returnType="java.lang.String") public class UISelectMany extends UIInput
Base class for the various component classes that allow a user to select zero or more options from a set.This is not an abstract class; java code can create an instance of this, configure its rendererType appropriately, and add it to a view. However there is no tag class for this component, ie it cannot be added directly to a page when using JSP (and other presentation technologies are expected to behave similarly). Instead, there is a family of subclasses that extend this base functionality, and they do have tag classes.
See the javadoc for this class in the JSF Specification for further details.
-
-
Field Summary
Fields Modifier and Type Field Description static String
COMPONENT_FAMILY
static String
COMPONENT_TYPE
static String
INVALID_MESSAGE_ID
-
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, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, FACETS_KEY, VIEW_LOCATION_KEY
-
-
Constructor Summary
Constructors Constructor Description UISelectMany()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
compareValues(Object previous, Object value)
protected Object
getConvertedValue(FacesContext context, Object submittedValue)
Convert the provided object to the desired value.String
getFamily()
Object[]
getSelectedValues()
jakarta.el.ValueExpression
getValueExpression(String name)
void
setSelectedValues(Object[] selectedValues)
void
setValueExpression(String name, jakarta.el.ValueExpression binding)
protected void
validateValue(FacesContext context, Object convertedValue)
-
Methods inherited from class jakarta.faces.component.UIInput
addValidator, addValueChangeListener, broadcast, clearInitialState, decode, getConverterMessage, getRequiredMessage, getSubmittedValue, getValidatorMessage, getValidators, getValue, getValueChangeListeners, isEmpty, isImmediate, isLocalValueSet, isRequired, isValid, markInitialState, processDecodes, processUpdates, processValidators, 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, encodeAll, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, visitTree
-
Methods inherited from class jakarta.faces.component.UIComponent
getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getListenersForEventClass, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, subscribeToEvent, unsubscribeFromEvent
-
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 String COMPONENT_TYPE
- See Also:
- Constant Field Values
-
COMPONENT_FAMILY
public static final String COMPONENT_FAMILY
- See Also:
- Constant Field Values
-
INVALID_MESSAGE_ID
public static final String INVALID_MESSAGE_ID
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSelectedValues
public Object[] getSelectedValues()
-
setSelectedValues
public void setSelectedValues(Object[] selectedValues)
-
getValueExpression
public jakarta.el.ValueExpression getValueExpression(String name)
- Overrides:
getValueExpression
in classUIComponent
-
setValueExpression
public void setValueExpression(String name, jakarta.el.ValueExpression binding)
- Overrides:
setValueExpression
in classUIComponent
-
compareValues
protected boolean compareValues(Object previous, Object value)
- Overrides:
compareValues
in classUIInput
- Returns:
- true if Objects are different (!)
-
validateValue
protected void validateValue(FacesContext context, Object convertedValue)
- Overrides:
validateValue
in classUIInput
-
getConvertedValue
protected Object getConvertedValue(FacesContext context, Object submittedValue) throws ConverterException
Description copied from class:UIInput
Convert the provided object to the desired value.If there is a renderer for this component, then call the renderer's getConvertedValue method. While this can of course be implemented in any way the renderer desires, it typically performs exactly the same processing that this method would have done anyway (ie that described below for the no-renderer case).
Otherwise:
- If the submittedValue is not a String then just return the submittedValue unconverted.
- If there is no "value" value-binding then just return the submittedValue unconverted.
- Use introspection to determine the type of the target property specified by the value-binding, and then use Application.createConverter to find a converter that can map from String to the required type. Apply the converter to the submittedValue and return the result.
- Overrides:
getConvertedValue
in classUIInput
- Throws:
ConverterException
-
-