Class ComponentIdParam

All Implemented Interfaces:
EditableValueHolder, PartialStateHolder, StateHolder, TransientStateHolder, ValueHolder, ComponentSystemEventListener, FacesListener, SystemEventListenerHolder, EventListener

public class ComponentIdParam extends ViewParam

The <o:componentIdParam> component allows to render just one or more components on a view via a GET parameter.

Components can be identified via both their client id or simple component id. Via the former it's possible to e.g. render only a specific row in a table. For specific cases, it's possible to render only the parent component and omit any children.

Among the use cases for this is creating simple mashups from various Faces based views, and scripts needing to obtain markup for specific components on an initial (non-faces) request.

Note that this is a rather specialized component and for many common use cases the user is advised to investigate if the existing AJAX and partial page requests in Faces don't already cover the requirements. For the moment this component only supports the direct output of the original markup and does not wrap it into any "partial response" envelope.

Since:
1.1
Author:
Arjan Tijms
  • Field Details

    • COMPONENT_TYPE

      public static final String COMPONENT_TYPE
      The component type, which is "org.omnifaces.component.input.ComponentIdParam".
      See Also:
  • Constructor Details

    • ComponentIdParam

      public ComponentIdParam()
  • Method Details

    • decode

      public void decode(FacesContext context)
      Overrides:
      decode in class UIViewParameter
    • processValidators

      public void processValidators(FacesContext context)
      Overrides:
      processValidators in class ViewParam
    • processUpdates

      public void processUpdates(FacesContext context)
      Overrides:
      processUpdates in class UIInput
    • getComponentIdName

      public String getComponentIdName()
      Returns the name of the request parameters from which the values are retrieved on an initial request that represent component ids of those components from which the markup should appear in the response (i.e. which should be rendered).
      Returns:
      The component id parameter name.
    • setComponentIdName

      public void setComponentIdName(String componentIdName)
      Sets the name of the request parameters from which the values are retrieved on an initial request that represent component ids of those components from which the markup should appear in the response (i.e. which should be rendered).
      Parameters:
      componentIdName - The component id parameter name.
    • getClientIdName

      public String getClientIdName()
      Returns the name of the request parameters from which the values are retrieved on an initial request that represent client ids of those components from which the markup should appear in the response (i.e. which should be rendered).
      Returns:
      The client id parameter name.
    • setClientIdName

      public void setClientIdName(String clientIdName)
      Sets the name of the request parameters from which the values are retrieved on an initial request that represent client ids of those components from which the markup should appear in the response (i.e. which should be rendered).
      Parameters:
      clientIdName - The client id parameter name.
    • isRenderChildren

      public boolean isRenderChildren()
      Returns whether children of the components identified by clientIdName or componentIdName are rendered in addition to the component itself. Defaults to true.
      Returns:
      Whether children should be rendered.
    • setRenderChildren

      public void setRenderChildren(boolean renderChildren)
      Sets whether children of the components identified by clientIdName or componentIdName are rendered in addition to the component itself. Defaults to true.
      Parameters:
      renderChildren - Whether children should be rendered.