org.apache.myfaces.trinidad.component
Class UIXComponentBase

java.lang.Object
  extended by javax.faces.component.UIComponent
      extended by org.apache.myfaces.trinidad.component.UIXComponent
          extended by org.apache.myfaces.trinidad.component.UIXComponentBase
All Implemented Interfaces:
javax.faces.component.StateHolder
Direct Known Subclasses:
CoreImportScript, CoreStyleSheet, HtmlBody, HtmlCellFormat, HtmlFrame, HtmlFrameBorderLayout, HtmlHead, HtmlHtml, 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:

FacesBean and UIXComponentBase

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


Field Summary
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
           
 
Constructor Summary
UIXComponentBase()
           
UIXComponentBase(java.lang.String rendererType)
           
 
Method Summary
protected  void addAttributeChange(java.lang.String attributeName, java.lang.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)
          Broadcast an event to a MethodBinding.
protected  FacesBean createFacesBean(java.lang.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 encodeAll(javax.faces.context.FacesContext context)
          Encodes a component and all of its children, whether getRendersChildren() is true or false.
 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(java.lang.String id)
           
 javax.faces.el.MethodBinding getAttributeChangeListener()
          Gets the method binding to an AttributeChangeListener.
 AttributeChangeListener[] getAttributeChangeListeners()
          Gets the registered AttributeChangeListeners.
 java.util.Map getAttributes()
           
protected  FacesBean.Type getBeanType()
           
protected  boolean getBooleanProperty(PropertyKey key, boolean defaultValue)
           
 int getChildCount()
           
 java.util.List getChildren()
          Create (if necessary) and return a List of the children associated with this component.
 java.lang.String getClientId(javax.faces.context.FacesContext context)
           
 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(java.lang.Class clazz)
           
 javax.faces.component.UIComponent getFacet(java.lang.String facetName)
           
 int getFacetCount()
          Return the number of facets.
 java.util.Iterator<java.lang.String> getFacetNames()
          Returns an Iterator over the names of all facets.
 java.util.Map getFacets()
          Create (if necessary) and return a Map of the facets associated with this component.
 java.util.Iterator getFacetsAndChildren()
           
abstract  java.lang.String getFamily()
           
 java.lang.String getId()
          Gets the identifier for the component.
protected  int getIntProperty(PropertyKey key, int defaultValue)
           
protected  LifecycleRenderer getLifecycleRenderer(javax.faces.context.FacesContext context)
           
protected  java.lang.String getLocalClientId()
          Returns the default local client identifier, relative to the current naming container.
 javax.faces.component.UIComponent getParent()
           
protected  java.lang.Object getProperty(PropertyKey key)
           
protected  PropertyKey getPropertyKey(java.lang.String name)
           
protected  javax.faces.render.Renderer getRenderer(javax.faces.context.FacesContext context)
           
 java.lang.String getRendererType()
           
 boolean getRendersChildren()
           
 javax.faces.el.ValueBinding getValueBinding(java.lang.String name)
           
 boolean isRendered()
           
 boolean isTransient()
           
 void markInitialState()
           
 void processDecodes(javax.faces.context.FacesContext context)
           
 void processRestoreState(javax.faces.context.FacesContext context, java.lang.Object state)
           
 java.lang.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 context, java.lang.Object stateObj)
           
 java.lang.Object saveState(javax.faces.context.FacesContext context)
           
 void setAttributeChangeListener(javax.faces.el.MethodBinding mb)
          Sets a method binding to an AttributeChangeListener.
protected  void setBooleanProperty(PropertyKey key, boolean value)
           
 void setId(java.lang.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, java.lang.Object value)
           
 void setRendered(boolean rendered)
           
 void setRendererType(java.lang.String rendererType)
           
 void setTransient(boolean newTransient)
           
 void setValueBinding(java.lang.String name, javax.faces.el.ValueBinding binding)
           
 java.lang.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 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(java.lang.String rendererType)
Method Detail

createFacesBean

protected FacesBean createFacesBean(java.lang.String rendererType)

getPropertyKey

protected PropertyKey getPropertyKey(java.lang.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

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.faces.el.MethodBinding 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

getAttributeChangeListener

public javax.faces.el.MethodBinding 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

getValueBinding

public javax.faces.el.ValueBinding getValueBinding(java.lang.String name)
Specified by:
getValueBinding in class javax.faces.component.UIComponent

setValueBinding

public void setValueBinding(java.lang.String name,
                            javax.faces.el.ValueBinding binding)
Specified by:
setValueBinding in class javax.faces.component.UIComponent

getAttributes

public java.util.Map getAttributes()
Specified by:
getAttributes in class UIXComponent

getClientId

public java.lang.String getClientId(javax.faces.context.FacesContext context)
Specified by:
getClientId in class javax.faces.component.UIComponent

getId

public java.lang.String getId()
Gets the identifier for the component.

Specified by:
getId in class javax.faces.component.UIComponent

setId

public void setId(java.lang.String id)
Sets the identifier for the component. The identifier must follow a subset of the syntax allowed in HTML:

Specified by:
setId in class javax.faces.component.UIComponent

getFamily

public abstract java.lang.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()
Specified by:
isTransient in interface javax.faces.component.StateHolder
Specified by:
isTransient in class UIXComponent

setTransient

public void setTransient(boolean newTransient)
Specified by:
setTransient in interface javax.faces.component.StateHolder
Specified by:
setTransient in class UIXComponent

getRendererType

public java.lang.String getRendererType()
Specified by:
getRendererType in class javax.faces.component.UIComponent

setRendererType

public void setRendererType(java.lang.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(java.lang.String id)
Specified by:
findComponent in class javax.faces.component.UIComponent

getChildren

public java.util.List getChildren()

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

Specified by:
getChildren in class UIXComponent

getChildCount

public int getChildCount()
Specified by:
getChildCount in class javax.faces.component.UIComponent

getFacets

public java.util.Map getFacets()

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

Specified by:
getFacets in class UIXComponent

getFacet

public javax.faces.component.UIComponent getFacet(java.lang.String facetName)
Specified by:
getFacet in class javax.faces.component.UIComponent

getFacetNames

public java.util.Iterator<java.lang.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 java.util.Iterator getFacetsAndChildren()
Specified by:
getFacetsAndChildren in class UIXComponent

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

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 java.io.IOException
Specified by:
encodeBegin in class javax.faces.component.UIComponent
Throws:
java.io.IOException

encodeChildren

public void encodeChildren(javax.faces.context.FacesContext context)
                    throws java.io.IOException
Specified by:
encodeChildren in class javax.faces.component.UIComponent
Throws:
java.io.IOException

encodeEnd

public void encodeEnd(javax.faces.context.FacesContext context)
               throws java.io.IOException
Specified by:
encodeEnd in class javax.faces.component.UIComponent
Throws:
java.io.IOException

encodeAll

public void encodeAll(javax.faces.context.FacesContext context)
               throws java.io.IOException
Encodes a component and all of its children, whether getRendersChildren() is true or false. When rendersChildren is false, each child whose "rendered" property is true will be sequentially rendered; facets will be ignored.

Specified by:
encodeAll in class UIXComponent
Throws:
java.io.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 java.lang.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,
                                java.lang.Object state)
Specified by:
processRestoreState in class javax.faces.component.UIComponent

markInitialState

public void markInitialState()
Specified by:
markInitialState in class UIXComponent

saveState

public java.lang.Object saveState(javax.faces.context.FacesContext context)
Specified by:
saveState in interface javax.faces.component.StateHolder
Specified by:
saveState in class UIXComponent

restoreState

public void restoreState(javax.faces.context.FacesContext context,
                         java.lang.Object stateObj)
Specified by:
restoreState in interface javax.faces.component.StateHolder
Specified by:
restoreState in class UIXComponent

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.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(java.lang.Class clazz)
Specified by:
getFacesListeners in class UIXComponent

addAttributeChange

protected void addAttributeChange(java.lang.String attributeName,
                                  java.lang.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,
                           java.lang.Object value)

getProperty

protected java.lang.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)

getLocalClientId

protected java.lang.String getLocalClientId()
Returns the default local client identifier, relative to the current naming container.


getFacetCount

public int getFacetCount()
Return the number of facets. This is more efficient than calling getFacets().size();

Specified by:
getFacetCount in class UIXComponent

broadcastToMethodBinding

protected final void broadcastToMethodBinding(javax.faces.event.FacesEvent event,
                                              javax.faces.el.MethodBinding method)
                                       throws javax.faces.event.AbortProcessingException
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


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