org.apache.myfaces.trinidad.component

## Class UIXComponentBase

- java.lang.Object
- - javax.faces.component.UIComponent
  - - org.apache.myfaces.trinidad.component.UIXComponent
    - - org.apache.myfaces.trinidad.component.UIXComponentBase

- All Implemented Interfaces:
    javax.faces.component.StateHolder
  Direct Known Subclasses:
    CoreImportScript, CoreStyleSheet, HtmlBody, HtmlCellFormat, HtmlFrame, HtmlFrameBorderLayout, HtmlHead, HtmlHtml, HtmlMeta, HtmlRowLayout, HtmlScript, HtmlTableLayout, UIXChart, UIXChoose, UIXCollection, UIXColumn, UIXCommand, UIXComponentRef, UIXDecorateCollection, UIXDocument, UIXForm, UIXGo, UIXGroup, UIXMenu, UIXMessage, UIXMessages, UIXObject, UIXPanel, UIXPoll, UIXProgress, UIXReset, UIXSelectItem, UIXSelectRange, UIXShowDetail, UIXShowMany, UIXShowOne, UIXSingleStep, UIXSubform, UIXSwitcher, UIXValue

      public abstract class UIXComponentBase
      extends UIXComponent

  Base implementation of components for all of Trinidad. UIXComponentBase offers a number of features not supplied by the standard UIComponentBase class:
  - Use of FacesBean for better and easier state saving
  - Support of the LifecycleRenderer class for greater Renderer control over the lifecycle
  - Built-in support for both the "partialTriggers" attribute (declarative support for being a PPR target) and for triggering such components (for being a the source of a PPR-causing event).

  ### FacesBean and UIXComponentBase

  UIXComponentBase differs from UIXComponent most particularly in its use of FacesBeans to store all state. This offers a number of advantages:

  - Subclassers - if they use FacesBean for their state as well - do not need to write overrides of saveState() and restoreState().
  - State is optimized by default
  - Future optimizations - partly exposed today with markInitialState() - can offer major state saving improvements.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static PropertyKey` | `BINDING_KEY`
    `static PropertyKey` | `ID_KEY`
    `static PropertyKey` | `RENDERED_KEY`
    `static PropertyKey` | `RENDERER_TYPE_KEY`
    `static PropertyKey` | `TRANSIENT_KEY`
    `static FacesBean.Type` | `TYPE`

    - ### Fields inherited from class javax.faces.component.UIComponent

      `bindings`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UIXComponentBase()`
    `UIXComponentBase(String rendererType)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static javax.el.MethodExpression` | `adaptMethodBinding(javax.faces.el.MethodBinding binding)` Given a MethodBinding, create a MethodExpression that adapts it.
    `protected void` | `addAttributeChange(String attributeName, Object attributeValue)`
    `void` | `addAttributeChangeListener(AttributeChangeListener acl)` Adds an AttributeChangeListener.
    `protected void` | `addFacesListener(javax.faces.event.FacesListener listener)`
    `void` | `broadcast(javax.faces.event.FacesEvent event)`
    `protected void` | `broadcastToMethodBinding(javax.faces.event.FacesEvent event, javax.faces.el.MethodBinding method)` Deprecated.
    `protected void` | `broadcastToMethodExpression(javax.faces.event.FacesEvent event, javax.el.MethodExpression method)` Broadcast an event to a MethodExpression.
    `protected FacesBean` | `createFacesBean(String rendererType)`
    `void` | `decode(javax.faces.context.FacesContext context)`
    `protected void` | `decodeChildren(javax.faces.context.FacesContext context)` Delegates to LifecycleRenderer, if present, otherwise calls decodeChildrenImpl.
    `protected void` | `decodeChildrenImpl(javax.faces.context.FacesContext context)` Calls processDecodes on all facets and children of this component.
    `void` | `encodeBegin(javax.faces.context.FacesContext context)`
    `void` | `encodeChildren(javax.faces.context.FacesContext context)`
    `void` | `encodeEnd(javax.faces.context.FacesContext context)`
    `javax.faces.component.UIComponent` | `findComponent(String id)`
    `javax.el.MethodExpression` | `getAttributeChangeListener()` Gets the method binding to an AttributeChangeListener.
    `AttributeChangeListener[]` | `getAttributeChangeListeners()` Gets the registered AttributeChangeListeners.
    `Map<String,Object>` | `getAttributes()`
    `protected FacesBean.Type` | `getBeanType()`
    `protected boolean` | `getBooleanProperty(PropertyKey key, boolean defaultValue)`
    `int` | `getChildCount()`
    `List<javax.faces.component.UIComponent>` | `getChildren()` Create (if necessary) and return a List of the children associated with this component.
    `String` | `getClientId(javax.faces.context.FacesContext context)`
    `String` | `getContainerClientId(javax.faces.context.FacesContext context, javax.faces.component.UIComponent child)` Provides additional context (the target child component for which the container client ID is requested) to a naming container for constructing a client ID.
    `FacesBean` | `getFacesBean()` Returns the FacesBean used for storing the component's state.
    `protected javax.faces.context.FacesContext` | `getFacesContext()` Return the `FacesContext` instance for the current request.
    `protected javax.faces.event.FacesListener[]` | `getFacesListeners(Class clazz)`
    `javax.faces.component.UIComponent` | `getFacet(String facetName)`
    `int` | `getFacetCount()` Return the number of facets.
    `Iterator<String>` | `getFacetNames()` Returns an Iterator over the names of all facets.
    `Map<String,javax.faces.component.UIComponent>` | `getFacets()` Create (if necessary) and return a Map of the facets associated with this component.
    `Iterator<javax.faces.component.UIComponent>` | `getFacetsAndChildren()`
    `abstract String` | `getFamily()`
    `String` | `getId()` Gets the identifier for the component.
    `protected int` | `getIntProperty(PropertyKey key, int defaultValue)`
    `protected LifecycleRenderer` | `getLifecycleRenderer(javax.faces.context.FacesContext context)`
    `javax.faces.component.UIComponent` | `getParent()`
    `protected Object` | `getProperty(PropertyKey key)`
    `protected PropertyKey` | `getPropertyKey(String name)`
    `protected javax.faces.render.Renderer` | `getRenderer(javax.faces.context.FacesContext context)`
    `String` | `getRendererType()`
    `boolean` | `getRendersChildren()`
    `javax.faces.el.ValueBinding` | `getValueBinding(String name)`
    `javax.el.ValueExpression` | `getValueExpression(String name)`
    `protected boolean` | `invokeOnChildrenComponents(javax.faces.context.FacesContext context, String clientId, javax.faces.component.ContextCallback callback)` Convenience method to call `invokeOnComponent` on all of the children of a component, surrounding the invocation with calls to `setup/tearDownChildrenVisitingContext`.
    `boolean` | `invokeOnComponent(javax.faces.context.FacesContext context, String clientId, javax.faces.component.ContextCallback callback)` Override to calls the hooks for setting up and tearing down the context before the children are visited.
    `protected boolean` | `invokeOnNamingContainerComponent(javax.faces.context.FacesContext context, String clientId, javax.faces.component.ContextCallback callback)` Optimized implementation of `invokeOnComponent` for NamingContainers.
    `boolean` | `isRendered()`
    `boolean` | `isTransient()`
    `void` | `markInitialState()`
    `void` | `processDecodes(javax.faces.context.FacesContext context)`
    `void` | `processRestoreState(javax.faces.context.FacesContext context, Object state)`
    `Object` | `processSaveState(javax.faces.context.FacesContext context)`
    `void` | `processUpdates(javax.faces.context.FacesContext context)`
    `void` | `processValidators(javax.faces.context.FacesContext context)`
    `void` | `queueEvent(javax.faces.event.FacesEvent event)`
    `void` | `removeAttributeChangeListener(AttributeChangeListener acl)` Removes an AttributeChangeListener.
    `protected void` | `removeFacesListener(javax.faces.event.FacesListener listener)`
    `void` | `restoreState(javax.faces.context.FacesContext facesContext, Object stateObj)`
    `protected boolean` | `satisfiesPartialTrigger(javax.faces.event.FacesEvent event)` Check if a faces event broadcast to this component should trigger the partial updates of the target listeners of this component.
    `Object` | `saveState(javax.faces.context.FacesContext context)`
    `void` | `setAttributeChangeListener(javax.faces.el.MethodBinding mb)` Deprecated.
    `void` | `setAttributeChangeListener(javax.el.MethodExpression mb)` Sets a method binding to an AttributeChangeListener.
    `protected void` | `setBooleanProperty(PropertyKey key, boolean value)`
    `void` | `setId(String id)` Sets the identifier for the component.
    `protected void` | `setIntProperty(PropertyKey key, int value)`
    `void` | `setParent(javax.faces.component.UIComponent parent)` Set the parent `UIComponent` of this `UIComponent`.
    `protected void` | `setProperty(PropertyKey key, Object value)`
    `void` | `setRendered(boolean rendered)`
    `void` | `setRendererType(String rendererType)`
    `void` | `setTransient(boolean newTransient)`
    `void` | `setValueBinding(String name, javax.faces.el.ValueBinding binding)`
    `void` | `setValueExpression(String name, javax.el.ValueExpression expression)`
    `String` | `toString()`
    `protected void` | `updateChildren(javax.faces.context.FacesContext context)` Delegates to LifecycleRenderer, if present, otherwise calls upateChildrenImpl.
    `protected void` | `updateChildrenImpl(javax.faces.context.FacesContext context)`
    `protected void` | `validateChildren(javax.faces.context.FacesContext context)` Delegates to LifecycleRenderer, if present, otherwise calls validateChildrenImpl.
    `protected void` | `validateChildrenImpl(javax.faces.context.FacesContext context)` Calls processValidators on all facets and children of this component.

    - ### Methods inherited from class org.apache.myfaces.trinidad.component.UIXComponent

      `addPartialTarget, clearCachedClientIds, clearCachedClientIds, encodeFlattenedChild, encodeFlattenedChildren, getLogicalParent, getLogicalParent, isVisitable, partialEncodeVisit, processFlattenedChildren, processFlattenedChildren, processFlattenedChildren, processFlattenedChildren, setPartialTarget, setupChildrenVisitingContext, setupEncodingContext, setUpEncodingContext, setupVisitingContext, tearDownChildrenVisitingContext, tearDownEncodingContext, tearDownVisitingContext, visitChildren, visitTree, visitTree`

    - ### Methods inherited from class javax.faces.component.UIComponent

      `encodeAll, getContainerClientId`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### TYPE

          public static final FacesBean.Type TYPE

    - #### ID_KEY

          public static final PropertyKey ID_KEY

    - #### RENDERED_KEY

          public static final PropertyKey RENDERED_KEY

    - #### BINDING_KEY

          public static final PropertyKey BINDING_KEY

    - #### TRANSIENT_KEY

          public static final PropertyKey TRANSIENT_KEY

    - #### RENDERER_TYPE_KEY

          public static final PropertyKey RENDERER_TYPE_KEY

  - ### Constructor Detail

    - #### UIXComponentBase

          public UIXComponentBase()

    - #### UIXComponentBase

          public UIXComponentBase(String rendererType)

  - ### Method Detail

    - #### createFacesBean

          protected FacesBean createFacesBean(String rendererType)

    - #### getPropertyKey

          protected PropertyKey getPropertyKey(String name)

    - #### getBeanType

          protected FacesBean.Type getBeanType()

    - #### getFacesBean

          public FacesBean getFacesBean()

      Description copied from class: `UIXComponent`
      Returns the FacesBean used for storing the component's state.
      Specified by:
        `getFacesBean` in class `UIXComponent`

    - #### getContainerClientId

          public String getContainerClientId(javax.faces.context.FacesContext context,
                                    javax.faces.component.UIComponent child)

      Description copied from class: `UIXComponent`
      Provides additional context (the target child component for which the container client ID is requested) to a naming container for constructing a client ID. This is useful for components such as @link UIXTable and @link UIXTreeTable which need to return different container client IDs for stamped and non-stamped child components.
      Specified by:
        `getContainerClientId` in class `UIXComponent`
      See Also:
        `getClientId(FacesContext context)`

    - #### addAttributeChangeListener

          public void addAttributeChangeListener(AttributeChangeListener acl)

      Description copied from class: `UIXComponent`
      Adds an AttributeChangeListener. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change events might include the width of a column that supported client-side resizing.
      Specified by:
        `addAttributeChangeListener` in class `UIXComponent`

    - #### removeAttributeChangeListener

          public void removeAttributeChangeListener(AttributeChangeListener acl)

      Description copied from class: `UIXComponent`
      Removes an AttributeChangeListener. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change events might include the width of a column that supported client-side resizing.
      Specified by:
        `removeAttributeChangeListener` in class `UIXComponent`

    - #### getAttributeChangeListeners

          public AttributeChangeListener[] getAttributeChangeListeners()

      Description copied from class: `UIXComponent`
      Gets the registered AttributeChangeListeners.
      Specified by:
        `getAttributeChangeListeners` in class `UIXComponent`

    - #### setAttributeChangeListener

          public void setAttributeChangeListener(javax.el.MethodExpression mb)

      Description copied from class: `UIXComponent`
      Sets a method binding to an AttributeChangeListener. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change events might include the width of a column that supported client-side resizing.
      Specified by:
        `setAttributeChangeListener` in class `UIXComponent`

    - #### setAttributeChangeListener

          @Deprecated
          public void setAttributeChangeListener(javax.faces.el.MethodBinding mb)

      Deprecated.

    - #### getAttributeChangeListener

          public javax.el.MethodExpression getAttributeChangeListener()

      Description copied from class: `UIXComponent`
      Gets the method binding to an AttributeChangeListener. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change events might include the width of a column that supported client-side resizing.
      Specified by:
        `getAttributeChangeListener` in class `UIXComponent`

    - #### getValueExpression

          public javax.el.ValueExpression getValueExpression(String name)

      Overrides:
        `getValueExpression` in class `javax.faces.component.UIComponent`

    - #### setValueExpression

          public void setValueExpression(String name,
                                javax.el.ValueExpression expression)

      Overrides:
        `setValueExpression` in class `javax.faces.component.UIComponent`

    - #### getValueBinding

          public javax.faces.el.ValueBinding getValueBinding(String name)

      Specified by:
        `getValueBinding` in class `javax.faces.component.UIComponent`

    - #### setValueBinding

          public void setValueBinding(String name,
                             javax.faces.el.ValueBinding binding)

      Specified by:
        `setValueBinding` in class `javax.faces.component.UIComponent`

    - #### getAttributes

          public Map<String,Object> getAttributes()

      Specified by:
        `getAttributes` in class `javax.faces.component.UIComponent`

    - #### getClientId

          public String getClientId(javax.faces.context.FacesContext context)

      Specified by:
        `getClientId` in class `javax.faces.component.UIComponent`

    - #### getId

          public String getId()

      Gets the identifier for the component. This implementation never returns a null id.
      Specified by:
        `getId` in class `javax.faces.component.UIComponent`

    - #### setId

          public void setId(String id)

      Sets the identifier for the component. The identifier must follow a subset of the syntax allowed in HTML:
      - Must not be a zero-length String.
      - First character must be an ASCII letter (A-Za-z) or an underscore ('_').
      - Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').
      Specified by:
        `setId` in class `javax.faces.component.UIComponent`

    - #### getFamily

          public abstract String getFamily()

      Specified by:
        `getFamily` in class `javax.faces.component.UIComponent`

    - #### getParent

          public javax.faces.component.UIComponent getParent()

      Specified by:
        `getParent` in class `javax.faces.component.UIComponent`

    - #### setParent

          public void setParent(javax.faces.component.UIComponent parent)

      Set the parent `UIComponent` of this `UIComponent`.

      Specified by:
        `setParent` in class `javax.faces.component.UIComponent`
      Parameters:
        `parent` - The new parent, or `null` for the root node of a component tree

    - #### isRendered

          public boolean isRendered()

      Specified by:
        `isRendered` in class `javax.faces.component.UIComponent`

    - #### setRendered

          public void setRendered(boolean rendered)

      Specified by:
        `setRendered` in class `javax.faces.component.UIComponent`

    - #### isTransient

          public boolean isTransient()

    - #### setTransient

          public void setTransient(boolean newTransient)

    - #### getRendererType

          public String getRendererType()

      Specified by:
        `getRendererType` in class `javax.faces.component.UIComponent`

    - #### setRendererType

          public void setRendererType(String rendererType)

      Specified by:
        `setRendererType` in class `javax.faces.component.UIComponent`

    - #### getRendersChildren

          public boolean getRendersChildren()

      Specified by:
        `getRendersChildren` in class `javax.faces.component.UIComponent`

    - #### findComponent

          public javax.faces.component.UIComponent findComponent(String id)

      Specified by:
        `findComponent` in class `javax.faces.component.UIComponent`

    - #### getChildren

          public List<javax.faces.component.UIComponent> getChildren()

      Create (if necessary) and return a List of the children associated with this component.

      Specified by:
        `getChildren` in class `javax.faces.component.UIComponent`

    - #### getChildCount

          public int getChildCount()

      Specified by:
        `getChildCount` in class `javax.faces.component.UIComponent`

    - #### getFacets

          public Map<String,javax.faces.component.UIComponent> getFacets()

      Create (if necessary) and return a Map of the facets associated with this component.

      Specified by:
        `getFacets` in class `javax.faces.component.UIComponent`

    - #### getFacet

          public javax.faces.component.UIComponent getFacet(String facetName)

      Specified by:
        `getFacet` in class `javax.faces.component.UIComponent`

    - #### getFacetNames

          public Iterator<String> getFacetNames()

      Returns an Iterator over the names of all facets. Unlike getFacets().keySet().iterator(), this does not require instantiating a Map if there are no facets. (Note that this is not part of the UIComponent API.)

    - #### getFacetsAndChildren

          public Iterator<javax.faces.component.UIComponent> getFacetsAndChildren()

      Specified by:
        `getFacetsAndChildren` in class `javax.faces.component.UIComponent`

    - #### broadcast

          public void broadcast(javax.faces.event.FacesEvent event)
                         throws javax.faces.event.AbortProcessingException

      Specified by:
        `broadcast` in class `javax.faces.component.UIComponent`
      Throws:
        `javax.faces.event.AbortProcessingException`

    - #### satisfiesPartialTrigger

          protected boolean satisfiesPartialTrigger(javax.faces.event.FacesEvent event)

      Check if a faces event broadcast to this component should trigger the partial updates of the target listeners of this component. By default, all events trigger a partial update of the listeners.
      Parameters:
        `event` - The event to check
      Returns:
        true if the partial triggers should be updated by this event being broadcast

    - #### decode

          public void decode(javax.faces.context.FacesContext context)

      Specified by:
        `decode` in class `javax.faces.component.UIComponent`

    - #### encodeBegin

          public void encodeBegin(javax.faces.context.FacesContext context)
                           throws IOException

      Specified by:
        `encodeBegin` in class `javax.faces.component.UIComponent`
      Throws:
        `IOException`

    - #### encodeChildren

          public void encodeChildren(javax.faces.context.FacesContext context)
                              throws IOException

      Specified by:
        `encodeChildren` in class `javax.faces.component.UIComponent`
      Throws:
        `IOException`

    - #### encodeEnd

          public void encodeEnd(javax.faces.context.FacesContext context)
                         throws IOException

      Specified by:
        `encodeEnd` in class `javax.faces.component.UIComponent`
      Throws:
        `IOException`

    - #### queueEvent

          public void queueEvent(javax.faces.event.FacesEvent event)

      Specified by:
        `queueEvent` in class `javax.faces.component.UIComponent`

    - #### processDecodes

          public void processDecodes(javax.faces.context.FacesContext context)

      Specified by:
        `processDecodes` in class `javax.faces.component.UIComponent`

    - #### processValidators

          public void processValidators(javax.faces.context.FacesContext context)

      Specified by:
        `processValidators` in class `javax.faces.component.UIComponent`

    - #### processUpdates

          public void processUpdates(javax.faces.context.FacesContext context)

      Specified by:
        `processUpdates` in class `javax.faces.component.UIComponent`

    - #### processSaveState

          public Object processSaveState(javax.faces.context.FacesContext context)

      Specified by:
        `processSaveState` in class `javax.faces.component.UIComponent`

    - #### processRestoreState

          public void processRestoreState(javax.faces.context.FacesContext context,
                                 Object state)

      Specified by:
        `processRestoreState` in class `javax.faces.component.UIComponent`

    - #### markInitialState

          public void markInitialState()

      Specified by:
        `markInitialState` in class `UIXComponent`

    - #### saveState

          public Object saveState(javax.faces.context.FacesContext context)

    - #### restoreState

          public void restoreState(javax.faces.context.FacesContext facesContext,
                          Object stateObj)

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### getFacesContext

          protected javax.faces.context.FacesContext getFacesContext()

      Return the `FacesContext` instance for the current request.

      Specified by:
        `getFacesContext` in class `javax.faces.component.UIComponent`

    - #### decodeChildren

          protected final void decodeChildren(javax.faces.context.FacesContext context)

      Delegates to LifecycleRenderer, if present, otherwise calls decodeChildrenImpl.
      Parameters:
        `context` - the current FacesContext

    - #### decodeChildrenImpl

          protected void decodeChildrenImpl(javax.faces.context.FacesContext context)

      Calls processDecodes on all facets and children of this component.
      Parameters:
        `context` - the current FacesContext

    - #### validateChildren

          protected final void validateChildren(javax.faces.context.FacesContext context)

      Delegates to LifecycleRenderer, if present, otherwise calls validateChildrenImpl.
      Parameters:
        `context` - the current FacesContext

    - #### validateChildrenImpl

          protected void validateChildrenImpl(javax.faces.context.FacesContext context)

      Calls processValidators on all facets and children of this component.
      Parameters:
        `context` - the current FacesContext

    - #### updateChildren

          protected final void updateChildren(javax.faces.context.FacesContext context)

      Delegates to LifecycleRenderer, if present, otherwise calls upateChildrenImpl.
      Parameters:
        `context` - the current FacesContext

    - #### updateChildrenImpl

          protected void updateChildrenImpl(javax.faces.context.FacesContext context)

    - #### addFacesListener

          protected void addFacesListener(javax.faces.event.FacesListener listener)

      Specified by:
        `addFacesListener` in class `javax.faces.component.UIComponent`

    - #### removeFacesListener

          protected void removeFacesListener(javax.faces.event.FacesListener listener)

      Specified by:
        `removeFacesListener` in class `javax.faces.component.UIComponent`

    - #### getFacesListeners

          protected javax.faces.event.FacesListener[] getFacesListeners(Class clazz)

      Specified by:
        `getFacesListeners` in class `javax.faces.component.UIComponent`

    - #### addAttributeChange

          protected void addAttributeChange(String attributeName,
                                Object attributeValue)

    - #### getRenderer

          protected javax.faces.render.Renderer getRenderer(javax.faces.context.FacesContext context)

      Specified by:
        `getRenderer` in class `javax.faces.component.UIComponent`

    - #### getLifecycleRenderer

          protected LifecycleRenderer getLifecycleRenderer(javax.faces.context.FacesContext context)

    - #### setProperty

          protected void setProperty(PropertyKey key,
                         Object value)

    - #### getProperty

          protected Object getProperty(PropertyKey key)

    - #### setBooleanProperty

          protected void setBooleanProperty(PropertyKey key,
                                boolean value)

    - #### getBooleanProperty

          protected boolean getBooleanProperty(PropertyKey key,
                                   boolean defaultValue)

    - #### setIntProperty

          protected void setIntProperty(PropertyKey key,
                            int value)

    - #### getIntProperty

          protected int getIntProperty(PropertyKey key,
                           int defaultValue)

    - #### getFacetCount

          public int getFacetCount()

      Return the number of facets. This is more efficient than calling getFacets().size();
      Overrides:
        `getFacetCount` in class `javax.faces.component.UIComponent`

    - #### broadcastToMethodBinding

          protected final void broadcastToMethodBinding(javax.faces.event.FacesEvent event,
                                      javax.faces.el.MethodBinding method)
                                                 throws javax.faces.event.AbortProcessingException

      Deprecated.
      Broadcast an event to a MethodBinding. This can be used to support MethodBindings such as the "actionListener" binding on ActionSource components: <tr:commandButton actionListener="#{mybean.myActionListener}">
      Throws:
        `javax.faces.event.AbortProcessingException`

    - #### adaptMethodBinding

          public static javax.el.MethodExpression adaptMethodBinding(javax.faces.el.MethodBinding binding)

      Given a MethodBinding, create a MethodExpression that adapts it.

    - #### broadcastToMethodExpression

          protected final void broadcastToMethodExpression(javax.faces.event.FacesEvent event,
                                         javax.el.MethodExpression method)
                                                    throws javax.faces.event.AbortProcessingException

      Broadcast an event to a MethodExpression. This can be used to support MethodBindings such as the "actionListener" binding on ActionSource components: <tr:commandButton actionListener="#{mybean.myActionListener}">
      Throws:
        `javax.faces.event.AbortProcessingException`

    - #### invokeOnChildrenComponents

          protected final boolean invokeOnChildrenComponents(javax.faces.context.FacesContext context,
                                           String clientId,
                                           javax.faces.component.ContextCallback callback)
                                                      throws javax.faces.FacesException

      Convenience method to call `invokeOnComponent` on all of the children of a component, surrounding the invocation with calls to `setup/tearDownChildrenVisitingContext`. This is useful when a component sometimes optimizes away calling `invokeOnComponent` on its children.
      Throws:
        `javax.faces.FacesException`
      See Also:
        `UIXComponent.setupChildrenVisitingContext(javax.faces.context.FacesContext)`, `UIXComponent.tearDownChildrenVisitingContext(javax.faces.context.FacesContext)`

    - #### invokeOnNamingContainerComponent

          protected final boolean invokeOnNamingContainerComponent(javax.faces.context.FacesContext context,
                                                 String clientId,
                                                 javax.faces.component.ContextCallback callback)
                                                            throws javax.faces.FacesException

      Optimized implementation of `invokeOnComponent` for NamingContainers. If the clientId isn't within the NamingContainer, invocation of the NamingContainer's children is skipped.

      Subclasses implementing NamingContainer should override `invokeOnComponent` and delegate to this method.

      Throws:
        `javax.faces.FacesException`

    - #### invokeOnComponent

          public boolean invokeOnComponent(javax.faces.context.FacesContext context,
                                  String clientId,
                                  javax.faces.component.ContextCallback callback)
                                    throws javax.faces.FacesException

      Override to calls the hooks for setting up and tearing down the context before the children are visited.
      Overrides:
        `invokeOnComponent` in class `javax.faces.component.UIComponent`
      Throws:
        `javax.faces.FacesException`
      See Also:
        `UIXComponent.setupVisitingContext(javax.faces.context.FacesContext)`, `UIXComponent.tearDownVisitingContext(javax.faces.context.FacesContext)`

Copyright © 2001-2016 The Apache Software Foundation. All Rights Reserved.