Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.faces.component
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:
  EventListener, EditableValueHolder, PartialStateHolder, StateHolder, ValueHolder, ComponentSystemEventListener, FacesListener, SystemEventListenerHolder

    public class UIViewParameter

extends UIInput

UIViewParameter represents a binding between a request parameter and a model property or `UIViewRoot` property. This is a bi-directional binding.

The `ViewDeclarationLanguage` implementation 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 the `UIViewRoot`.

Because this class extends `UIInput` any actions that one would normally take on a `UIInput` instance 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
`static class` | `UIViewParameter.Reference` Inner class to encapsulate a `UIViewParameter` instance so that it may be safely referenced regardless of whether or not the current view is the same as the view in which this `UIViewParameter` resides.

Field Summary
`static String` | `COMPONENT_FAMILY` The standard component family for this component.
`static String` | `COMPONENT_TYPE` The 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
`BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, VIEW_LOCATION_KEY`

Constructor Summary
`UIViewParameter()` Create a new `UIViewParameter` instance with default property values.

Method Summary
`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 to `UIInput.setSubmittedValue(java.lang.Object)`.
`void` | `encodeAll(FacesContext context)` Called specially by `UIViewRoot.encodeEnd(javax.faces.context.FacesContext)`, this method simply sets the submitted value to be the return from `getStringValue(javax.faces.context.FacesContext)`.
`protected Object` | `getConvertedValue(FacesContext context, Object submittedValue)` Because this class has no `Renderer`, leverage the one from the standard HTML_BASIC `RenderKit` with `component-family: javax.faces.Input` and `renderer-type: javax.faces.Text` and call its `Renderer.getConvertedValue(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)` method.
`String` | `getFamily()` Return the identifier of the component family to which this component belongs.
`String` | `getName()` Return the request parameter name from which the value is retrieved.
`String` | `getStringValue(FacesContext context)` If the value of this parameter comes from a `ValueExpression` return the value of the expression, otherwise, return the local value.
`String` | `getStringValueFromModel(FacesContext context)` Manually perform standard conversion steps to get a string value from the value expression.
`String` | `getSubmittedValue()` Assume that the submitted value is always a string.
`boolean` | `isImmediate()` Return `false`.
`void` | `processValidators(FacesContext context)` Specialize superclass behavior to treat `null` differently.
`void` | `setName(String name)` Set the request parameter name from which the value is retrieved.
`void` | `setSubmittedValue(Object submittedValue)` PENDING (docs) Interesting that submitted value isn't saved by the parent
`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.

Methods inherited from class javax.faces.component.UIInput
`addValidator, addValueChangeListener, clearInitialState, compareValues, getConverterMessage, getRequiredMessage, getValidator, getValidatorMessage, getValidators, 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, getValue, 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, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding`

Methods inherited from class javax.faces.component.UIComponent
`getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getListenersForEventClass, getNamingContainer, getResourceBundleMap, getStateHelper, getStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, setInView, setValueExpression, subscribeToEvent, unsubscribeFromEvent, 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, getValue, setConverter`

Field Detail

### COMPONENT_TYPE

    public static final String COMPONENT_TYPE

  The standard component type for this component.

  See Also:
    Constant Field Values

### COMPONENT_FAMILY

    public static final String COMPONENT_FAMILY

  The standard component family for this component.

  See Also:
    Constant Field Values

Constructor Detail

### UIViewParameter

    public UIViewParameter()

  Create a new `UIViewParameter` instance with default property values.

Method Detail

### getFamily

    public 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 appropriate `Renderer` for this component instance.

  Overrides:
    `getFamily` in class `UIInput`

### getName

    public String getName()

  Return the request parameter name from which the value is retrieved.

  Since:
    2.0

### setName

    public void setName(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 be `false`.

  Specified by:
    `isImmediate` in interface `EditableValueHolder`
  Overrides:
    `isImmediate` in class `UIInput`
  Since:
    2.0

### getSubmittedValue

    public String getSubmittedValue()

  Assume that the submitted value is always a string.

  Specified by:
    `getSubmittedValue` in interface `EditableValueHolder`
  Overrides:
    `getSubmittedValue` in class `UIInput`
  Since:
    2.0

### setSubmittedValue

    public void setSubmittedValue(Object submittedValue)

  PENDING (docs) Interesting that submitted value isn't saved by the parent

  Specified by:
    `setSubmittedValue` in interface `EditableValueHolder`
  Overrides:
    `setSubmittedValue` in class `UIInput`
  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 to `UIInput.setSubmittedValue(java.lang.Object)`.

  Overrides:
    `decode` in class `UIInput`
  Parameters:
    `context` - `FacesContext` for the request we are processing
  Since:
    2.0

### processValidators

    public void processValidators(FacesContext context)

  Specialize superclass behavior to treat `null` differently. In this class, a `null` value along with the "required" flag being set to `true` will cause a validation failure.

  Overrides:
    `processValidators` in class `UIInput`
  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:
    `updateModel` in class `UIInput`
  Parameters:
    `context` - `FacesContext` for the request we are processing
  Since:
    2.0

### encodeAll

    public void encodeAll(FacesContext context)
                   throws IOException

  Called specially by `UIViewRoot.encodeEnd(javax.faces.context.FacesContext)`, this method simply sets the submitted value to be the return from `getStringValue(javax.faces.context.FacesContext)`.

  Overrides:
    `encodeAll` in class `UIComponent`
  Throws:
    `IOException` - if an input/output error occurs while rendering
  Since:
    2.0

### getStringValue

    public String getStringValue(FacesContext context)

  If the value of this parameter comes from a `ValueExpression` return the value of the expression, otherwise, return the local value.

  Since:
    2.0

### getStringValueFromModel

    public 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 Object getConvertedValue(FacesContext context,
                                       Object submittedValue)
                                throws ConverterException

  Because this class has no `Renderer`, leverage the one from the standard HTML_BASIC `RenderKit` with `component-family: javax.faces.Input` and `renderer-type: javax.faces.Text` and call its `Renderer.getConvertedValue(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)` method.

  Overrides:
    `getConvertedValue` in class `UIInput`
  Throws:
    `ConverterException`
  Since:
    2.0

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2009 Sun Microsystems, Inc. All Rights Reserved.