Class UIViewParameter
- java.lang.Object
-
- javax.faces.component.UIComponent
-
- javax.faces.component.UIComponentBase
-
- javax.faces.component.UIOutput
-
- javax.faces.component.UIInput
-
- javax.faces.component.UIViewParameter
-
- All Implemented Interfaces:
java.util.EventListener,EditableValueHolder,PartialStateHolder,StateHolder,TransientStateHolder,ValueHolder,ComponentSystemEventListener,FacesListener,SystemEventListenerHolder
public class UIViewParameter extends UIInput
UIViewParameter represents a binding between a request parameter and a model property or
UIViewRootproperty. This is a bi-directional binding.The
ViewDeclarationLanguageimplementation must cause an instance of this component to appear in the view for each occurrence of an<f:viewParam />element placed inside of an<f:metadata />element. The user must place this facet within theUIViewRoot.Because this class extends
UIInputany actions that one would normally take on aUIInputinstance are valid for instances of this class. Instances of this class participate in the regular JSF lifecycle, including on Ajax requests.- Since:
- 2.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUIViewParameter.ReferenceInner class to encapsulate aUIViewParameterinstance so that it may be safely referenced regardless of whether or not the current view is the same as the view in which thisUIViewParameterresides.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCOMPONENT_FAMILYThe standard component family for this component.static java.lang.StringCOMPONENT_TYPEThe standard component type for this component.-
Fields inherited from class javax.faces.component.UIInput
CONVERSION_MESSAGE_ID, 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, 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 UIViewParameter()Create a newUIViewParameterinstance with default property values.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddecode(FacesContext context)Override behavior from superclass to pull a value from the incoming request parameter map under the name given bygetName()and store it with a call toUIInput.setSubmittedValue(java.lang.Object).voidencodeAll(FacesContext context)Called specially byUIViewRoot.encodeEnd(javax.faces.context.FacesContext), this method simply sets the submitted value to be the return fromgetStringValue(javax.faces.context.FacesContext).protected java.lang.ObjectgetConvertedValue(FacesContext context, java.lang.Object submittedValue)Because this class has noRenderer, leverage the one from the standard HTML_BASICRenderKitwithcomponent-family: javax.faces.Inputandrenderer-type: javax.faces.Textand call itsRenderer.getConvertedValue(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)method.java.lang.StringgetFamily()Return the identifier of the component family to which this component belongs.java.lang.StringgetName()Return the request parameter name from which the value is retrieved.java.lang.StringgetStringValue(FacesContext context)If the value of this parameter comes from aValueExpressionreturn the value of the expression, otherwise, return the local value.java.lang.StringgetStringValueFromModel(FacesContext context)Manually perform standard conversion steps to get a string value from the value expression.java.lang.ObjectgetSubmittedValue()Assume that the submitted value is always a string, but the return type from this method isObject..booleanisImmediate()Returnfalse.voidprocessValidators(FacesContext context)Specialize superclass behavior to treatnulldifferently.voidsetName(java.lang.String name)Set the request parameter name from which the value is retrieved.voidsetSubmittedValue(java.lang.Object submittedValue)PENDING (docs) Interesting that submitted value isn't saved by the parentvoidupdateModel(FacesContext context)Call through to superclassUIInput.updateModel(javax.faces.context.FacesContext)then take the additional action of pushing the value into request scope if and only if the value is not a value expression, is valid, and the local value was set on this lifecycle execution.-
Methods inherited from class javax.faces.component.UIInput
addValidator, addValueChangeListener, clearInitialState, compareValues, getConverterMessage, getRequiredMessage, getValidator, getValidatorMessage, getValidators, getValue, getValueChangeListener, getValueChangeListeners, isEmpty, isLocalValueSet, isRequired, isValid, markInitialState, processDecodes, processUpdates, removeValidator, removeValueChangeListener, resetValue, restoreState, saveState, setConverterMessage, setImmediate, setLocalValueSet, setRequired, setRequiredMessage, setValid, setValidator, setValidatorMessage, setValue, setValueChangeListener, validate, validateValue
-
Methods inherited from class javax.faces.component.UIOutput
getConverter, getLocalValue, setConverter
-
Methods inherited from class javax.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, getValueBinding, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
-
Methods inherited from class javax.faces.component.UIComponent
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
-
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 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
-
-
Constructor Detail
-
UIViewParameter
public UIViewParameter()
Create a new
UIViewParameterinstance with default property values.
-
-
Method Detail
-
getFamily
public java.lang.String getFamily()
Description copied from class:UIComponentReturn the identifier of the component family to which this component belongs. This identifier, in conjunction with the value of the
rendererTypeproperty, may be used to select the appropriateRendererfor this component instance.
-
getName
public java.lang.String getName()
Return the request parameter name from which the value is retrieved.
- Since:
- 2.0
-
setName
public void setName(java.lang.String name)
Set the request parameter name from which the value is retrieved.
- Parameters:
name- The new request parameter name.- Since:
- 2.0
-
isImmediate
public boolean isImmediate()
Return
false. The immediate setting is not relevant for view parameters and must be assumed to befalse.- Specified by:
isImmediatein interfaceEditableValueHolder- Overrides:
isImmediatein classUIInput- Since:
- 2.0
-
getSubmittedValue
public java.lang.Object getSubmittedValue()
Assume that the submitted value is always a string, but the return type from this method is
Object..- Specified by:
getSubmittedValuein interfaceEditableValueHolder- Overrides:
getSubmittedValuein classUIInput- Since:
- 2.0
-
setSubmittedValue
public void setSubmittedValue(java.lang.Object submittedValue)
PENDING (docs) Interesting that submitted value isn't saved by the parent- Specified by:
setSubmittedValuein interfaceEditableValueHolder- Overrides:
setSubmittedValuein classUIInput- Parameters:
submittedValue- The new submitted value
-
decode
public void decode(FacesContext context)
Override behavior from superclass to pull a value from the incoming request parameter map under the name given by
getName()and store it with a call toUIInput.setSubmittedValue(java.lang.Object).- Overrides:
decodein classUIInput- Parameters:
context-FacesContextfor the request we are processing- Since:
- 2.0
-
processValidators
public void processValidators(FacesContext context)
Specialize superclass behavior to treat
nulldifferently. In this class, anullvalue along with the "required" flag being set totruewill cause a validation failure.- Overrides:
processValidatorsin classUIInput- Parameters:
context-- Since:
- 2.0
-
updateModel
public void updateModel(FacesContext context)
Call through to superclass
UIInput.updateModel(javax.faces.context.FacesContext)then take the additional action of pushing the value into request scope if and only if the value is not a value expression, is valid, and the local value was set on this lifecycle execution.- Overrides:
updateModelin classUIInput- Parameters:
context-FacesContextfor the request we are processing- Since:
- 2.0
-
encodeAll
public void encodeAll(FacesContext context) throws java.io.IOException
Called specially by
UIViewRoot.encodeEnd(javax.faces.context.FacesContext), this method simply sets the submitted value to be the return fromgetStringValue(javax.faces.context.FacesContext).- Overrides:
encodeAllin classUIComponent- Throws:
java.io.IOException- if an input/output error occurs while rendering- Since:
- 2.0
-
getStringValue
public java.lang.String getStringValue(FacesContext context)
If the value of this parameter comes from a
ValueExpressionreturn the value of the expression, otherwise, return the local value.- Since:
- 2.0
-
getStringValueFromModel
public java.lang.String getStringValueFromModel(FacesContext context) throws ConverterException
Manually perform standard conversion steps to get a string value from the value expression.
- Throws:
ConverterException- Since:
- 2.0
-
getConvertedValue
protected java.lang.Object getConvertedValue(FacesContext context, java.lang.Object submittedValue) throws ConverterException
Because this class has no
Renderer, leverage the one from the standard HTML_BASICRenderKitwithcomponent-family: javax.faces.Inputandrenderer-type: javax.faces.Textand call itsRenderer.getConvertedValue(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)method.- Overrides:
getConvertedValuein classUIInput- Throws:
ConverterException- Since:
- 2.0
-
-