Class UISelectMany
- java.lang.Object
-
- javax.faces.component.UIComponent
-
- javax.faces.component.UIComponentBase
-
- javax.faces.component.UIOutput
-
- javax.faces.component.UIInput
-
- javax.faces.component.UISelectMany
-
- All Implemented Interfaces:
EventListener,EditableValueHolder,PartialStateHolder,StateHolder,TransientStateHolder,ValueHolder,ComponentSystemEventListener,FacesListener,SystemEventListenerHolder
- Direct Known Subclasses:
HtmlSelectManyCheckbox,HtmlSelectManyListbox,HtmlSelectManyMenu
@JSFComponent(defaultRendererType="javax.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 StringCOMPONENT_FAMILYstatic StringCOMPONENT_TYPEstatic StringINVALID_MESSAGE_ID-
Fields inherited from class javax.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 javax.faces.component.UIComponent
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, 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 UISelectMany()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancompareValues(Object previous, Object value)protected ObjectgetConvertedValue(FacesContext context, Object submittedValue)Convert the provided object to the desired value.StringgetFamily()Object[]getSelectedValues()javax.el.ValueExpressiongetValueExpression(String name)voidsetSelectedValues(Object[] selectedValues)voidsetValueExpression(String name, javax.el.ValueExpression binding)protected voidvalidateValue(FacesContext context, Object convertedValue)-
Methods inherited from class javax.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 javax.faces.component.UIOutput
getConverter, getLocalValue, setConverter
-
Methods inherited from class javax.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 javax.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 javax.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 javax.el.ValueExpression getValueExpression(String name)
- Overrides:
getValueExpressionin classUIComponent
-
setValueExpression
public void setValueExpression(String name, javax.el.ValueExpression binding)
- Overrides:
setValueExpressionin classUIComponent
-
compareValues
protected boolean compareValues(Object previous, Object value)
- Overrides:
compareValuesin classUIInput- Returns:
- true if Objects are different (!)
-
validateValue
protected void validateValue(FacesContext context, Object convertedValue)
- Overrides:
validateValuein classUIInput
-
getConvertedValue
protected Object getConvertedValue(FacesContext context, Object submittedValue) throws ConverterException
Description copied from class:UIInputConvert 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:
getConvertedValuein classUIInput- Throws:
ConverterException
-
-