|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
javax.faces.component.UIComponent
org.apache.myfaces.trinidad.component.UIXComponent
public abstract class UIXComponent
Pure abstract base class for all UIX components.
| Field Summary |
|---|
| Fields inherited from class javax.faces.component.UIComponent |
|---|
bindings |
| Constructor Summary | |
|---|---|
UIXComponent() |
|
| Method Summary | ||
|---|---|---|
abstract void |
addAttributeChangeListener(AttributeChangeListener acl)Adds an AttributeChangeListener. |
|
static void |
addPartialTarget(javax.faces.context.FacesContext facesContext, PartialPageContext partialContext, javax.faces.component.UIComponent component)Add a component as a partial target to the current request. |
|
static
|
encodeFlattenedChild(javax.faces.context.FacesContext context, ComponentProcessor<S> childProcessor, javax.faces.component.UIComponent child, S callbackContext)Helper function called by Renderers to encode a flattened view of a group of potentially FlattenedComponent instances rooted at a single child of the component, invoking the childProcessor with its callbackContext on each renderable instance. |
|
static
|
encodeFlattenedChildren(javax.faces.context.FacesContext context, ComponentProcessor<S> childProcessor, java.lang.Iterable<javax.faces.component.UIComponent> children, S callbackContext)Helper function called by Renderers to encode a flattened view of their children, invoking the childProcessor with its callbackContext on each renderable instance. |
|
abstract javax.el.MethodExpression |
getAttributeChangeListener()Gets the method binding to an AttributeChangeListener. |
|
abstract AttributeChangeListener[] |
getAttributeChangeListeners()Gets the registered AttributeChangeListeners. |
|
abstract java.lang.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. |
|
abstract FacesBean |
getFacesBean()Returns the FacesBean used for storing the component's state. |
|
javax.faces.component.UIComponent |
getLogicalParent()Provides a logical parent for this component (a parent in the context of the document where this component was defined). |
|
static javax.faces.component.UIComponent |
getLogicalParent(javax.faces.component.UIComponent component)Provides a logical parent for the component (a parent in the context of the document where the component was defined). |
|
protected java.util.Iterator<javax.faces.component.UIComponent> |
getRenderedFacetsAndChildren(javax.faces.context.FacesContext facesContext)Specifies what facets and children components should be processed as rendered for life-cycle methods. |
|
protected boolean |
isVisitable(VisitContext visitContext)Called by UIXComponent.visitTree() to determine whether this component is "visitable" - ie. |
|
abstract void |
markInitialState() |
|
VisitResult |
partialEncodeVisit(VisitContext visitContext, PartialPageContext partialContext, VisitCallback callback)Called when visiting the component during optimized partial page encoding so that the component can modify what is actually encoded. |
|
static
|
processFlattenedChildren(javax.faces.context.FacesContext context, ComponentProcessingContext cpContext, ComponentProcessor<S> childProcessor, java.lang.Iterable<javax.faces.component.UIComponent> children, S callbackContext)Helper function called by FlattenedComponents to iterate over a flattened view of their children, potentially themselves FlattenedComponents, invoking the childProcessor with its callbackContext on each renderable instance. |
|
static
|
processFlattenedChildren(javax.faces.context.FacesContext context, ComponentProcessingContext cpContext, ComponentProcessor<S> childProcessor, javax.faces.component.UIComponent child, S callbackContext)Helper function called by FlattenedComponent to iterate over a flattened view of a group of potentially FlattenedComponent instances rooted at a single child of the FlattenedComponent, invoking the childProcessor with its callbackContext on each renderable instance. |
|
static
|
processFlattenedChildren(javax.faces.context.FacesContext context, ComponentProcessor<S> childProcessor, java.lang.Iterable<javax.faces.component.UIComponent> children, S callbackContext)Helper function called by Renderers to iterate over a flattened view of the children, potentially containing FlattenedComponents, of the component the Renderer is encoding, invoking the childProcessor with its callbackContext on each renderable instance. |
|
static
|
processFlattenedChildren(javax.faces.context.FacesContext context, ComponentProcessor<S> childProcessor, javax.faces.component.UIComponent child, S callbackContext)Helper function called by Renderers to iterate over a flattened view of a group of potentially FlattenedComponent instances rooted at a single child of the component to collect information about these children prior to encoding the children using encodeFlattenedChild(FacesContext, ComponentProcessor, UIComponent, Object). |
|
abstract void |
removeAttributeChangeListener(AttributeChangeListener acl)Removes an AttributeChangeListener. |
|
abstract void |
setAttributeChangeListener(javax.el.MethodExpression me)Sets a method binding to an AttributeChangeListener. |
|
protected void |
setPartialTarget(javax.faces.context.FacesContext facesContext, PartialPageContext partialContext)Marks this component as a partial target for this request. |
|
protected void |
setUpEncodingContext(javax.faces.context.FacesContext context, RenderingContext rc)Sets up the context necessary to encode the component. |
|
protected void |
setupVisitingContext(javax.faces.context.FacesContext context)Sets up the context necessary to visit or invoke the component for all phases. |
|
protected void |
tearDownEncodingContext(javax.faces.context.FacesContext context, RenderingContext rc)Tears down the context created in order to encode the component |
|
protected void |
tearDownVisitingContext(javax.faces.context.FacesContext context)Tears down context created in order to visit or invoke the component for all phases. |
|
static boolean |
visitTree(VisitContext visitContext, javax.faces.component.UIComponent component, VisitCallback callback)Perform a tree visit starting at the specified node in the tree. |
|
boolean |
visitTree(VisitContext visitContext, VisitCallback callback)Perform a tree visit starting at this node in the tree. |
|
| Methods inherited from class javax.faces.component.UIComponent |
|---|
addFacesListener, broadcast, decode, encodeAll, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientId, getContainerClientId, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getFamily, getId, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, getValueExpression, invokeOnComponent, isRendered, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, setId, setParent, setRendered, setRendererType, setValueBinding, setValueExpression |
| 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.StateHolder |
|---|
isTransient, restoreState, saveState, setTransient |
| Constructor Detail |
|---|
public UIXComponent()
| Method Detail |
|---|
public static <S> boolean processFlattenedChildren(javax.faces.context.FacesContext context,
ComponentProcessor<S> childProcessor,
javax.faces.component.UIComponent child,
S callbackContext)
throws java.io.IOException
encodeFlattenedChild(FacesContext, ComponentProcessor, UIComponent, Object).
If the child is a FlattenedComponent, the childProcessor will be called on each of that FlattenedComponent's children, recursing if those children are themselves FlattenedComponents, otherwise, the childProcessor will be called on the child itself.
If the Renderer accidentally passes in the component to be processed instead of one of its children, the result will almost certainly be an infinite recursion and stack overflow.
java.io.IOExceptionprocessFlattenedChildren(FacesContext, ComponentProcessor, Iterable, Object), processFlattenedChildren(FacesContext, ComponentProcessingContext, ComponentProcessor, UIComponent, Object), processFlattenedChildren(FacesContext, ComponentProcessingContext, ComponentProcessor, Iterable, Object), FlattenedComponent
public static <S> boolean encodeFlattenedChild(javax.faces.context.FacesContext context,
ComponentProcessor<S> childProcessor,
javax.faces.component.UIComponent child,
S callbackContext)
throws java.io.IOException
childProcessor with its callbackContext on each renderable instance. This method must be called when the childProcessor is actually encoding and the childProcessor must not attempt to encode the same component instances more than once per request.
If a Renderer needs to collect information about its possibly flattened children before calling encodeFlattenedChild(FacesContext, ComponentProcessor, UIComponent, Object), it should call processFlattenedChildren(FacesContext, ComponentProcessor, UIComponent, Object) to collect the information.
If the child is a FlattenedComponent, the childProcessor will be called on each of that FlattenedComponent's children, recursing if those children are themselves FlattenedComponents, otherwise, the childProcessor will be called on the child itself.
FlattenedComponents that wish to check whether they are processed for the purpose of encoding can check the ProcessingHints of the ComponentProcessingContext for the presence of PROCESS_FOR_ENCODING hint.
If the Renderer accidentally passes in the component to be encoded instead of one of its children, the result will almost certainly be an infinite recursion and stack overflow.
true If any children were processedjava.io.IOExceptionprocessFlattenedChildren(FacesContext, ComponentProcessor, UIComponent, Object), FlattenedComponent
public static <S> boolean processFlattenedChildren(javax.faces.context.FacesContext context,
ComponentProcessingContext cpContext,
ComponentProcessor<S> childProcessor,
javax.faces.component.UIComponent child,
S callbackContext)
throws java.io.IOException
childProcessor with its callbackContext on each renderable instance.
If the child is a FlattenedComponent, the childProcessor will be called on each of that FlattenedComponent's children, recursing if those children are themselves FlattenedComponents, otherwise, the childProcessor will be called on the child itself.
This method is typically used to flatten the contents of a facet of the FlattenedComponent. If the FlattenedComponent accidentally passes in itself instead of one of its children, the result will almost certainly be an infinite recursion and stack overflow.
true If any children were processedjava.io.IOExceptionprocessFlattenedChildren(FacesContext, ComponentProcessor, UIComponent, Object), processFlattenedChildren(FacesContext, ComponentProcessor, Iterable, Object), processFlattenedChildren(FacesContext, ComponentProcessingContext, ComponentProcessor, Iterable, Object), FlattenedComponent
public static <S> boolean processFlattenedChildren(javax.faces.context.FacesContext context,
ComponentProcessor<S> childProcessor,
java.lang.Iterable<javax.faces.component.UIComponent> children,
S callbackContext)
throws java.io.IOException
childProcessor with its callbackContext on each renderable instance.
For each FlattenedComponent child, the childProcessor will be called on each of that FlattenedComponent's children, recursing if those children are themselves FlattenedComponents, otherwise, the childProcessor will be called on the child itself.
This method is typically used to flatten the children of the FlattenedComponent to be encoded.
true If any children were processedjava.io.IOExceptionprocessFlattenedChildren(FacesContext, ComponentProcessor, UIComponent, Object), processFlattenedChildren(FacesContext, ComponentProcessingContext, ComponentProcessor, UIComponent, Object), processFlattenedChildren(FacesContext, ComponentProcessingContext, ComponentProcessor, Iterable, Object), FlattenedComponent
public static <S> boolean encodeFlattenedChildren(javax.faces.context.FacesContext context,
ComponentProcessor<S> childProcessor,
java.lang.Iterable<javax.faces.component.UIComponent> children,
S callbackContext)
throws java.io.IOException
childProcessor with its callbackContext on each renderable instance. This method must be called when the childProcessor is actually encoding and the childProcessor must not attempt to encode the same component instances more than once per request.
If a Renderer needs to collect information about its possibly flattened children before calling encodeFlattenedChild(FacesContext, ComponentProcessor, Iterable<UIComponent>, Object), it should call processFlattenedChildren(FacesContext, ComponentProcessor, Iterable<UIComponent>, Object) to collect the information.
For each FlattenedComponent child, the childProcessor will be called on each of that FlattenedComponent's children, recursing if those children are themselves FlattenedComponents, otherwise, the childProcessor will be called on the child itself.
FlattenedComponents that wish to check whether they are processed for the purpose of encoding can check the ProcessingHints of the ComponentProcessingContext for the presence of PROCESS_FOR_ENCODING hint.
true If any children were processedjava.io.IOExceptionprocessFlattenedChildren(FacesContext, ComponentProcessor, Iterable, Object), FlattenedComponent
public static <S> boolean processFlattenedChildren(javax.faces.context.FacesContext context,
ComponentProcessingContext cpContext,
ComponentProcessor<S> childProcessor,
java.lang.Iterable<javax.faces.component.UIComponent> children,
S callbackContext)
throws java.io.IOException
childProcessor with its callbackContext on each renderable instance.
For each FlattenedComponent child, the childProcessor will be called on each of that FlattenedComponent's children, recursing if those children are themselves FlattenedComponents, otherwise, the childProcessor will be called on the child itself.
java.io.IOExceptionprocessFlattenedChildren(FacesContext, ComponentProcessor, UIComponent, Object), processFlattenedChildren(FacesContext, ComponentProcessor, Iterable, Object), processFlattenedChildren(FacesContext, ComponentProcessingContext, ComponentProcessor, UIComponent, Object), FlattenedComponent
public boolean visitTree(VisitContext visitContext,
VisitCallback callback)
Perform a tree visit starting at this node in the tree.
UIXComponent.visitTree() implementations do not invoke the VisitCallback directly, but instead call VisitContext.invokeVisitCallback() to invoke the callback. This allows VisitContext implementations to provide optimized tree traversals, for example by only calling the VisitCallback for a subset of components.
visitContext - the VisitContext for this visitcallback - the VisitCallback instance whose visit method will be called for each node visited.true to indicate that the tree visit is complete (eg. all components that need to be visited have been visited). This results in the tree visit being short-circuited such that no more components are visited.VisitContext.invokeVisitCallback()protected java.util.Iterator<javax.faces.component.UIComponent> getRenderedFacetsAndChildren(javax.faces.context.FacesContext facesContext)
facesContext - the facesContext
public static boolean visitTree(VisitContext visitContext,
javax.faces.component.UIComponent component,
VisitCallback callback)
Perform a tree visit starting at the specified node in the tree.
UIXComponent.visitTree() implementations do not invoke the VisitCallback directly, but instead call VisitContext.invokeVisitCallback() to invoke the callback. This allows VisitContext implementations to provide optimized tree traversals, for example by only calling the VisitCallback for a subset of components.
visitContext - the VisitContext for this visitcomponent - the UIComponent to start the visit fromcallback - the VisitCallback instance whose visit method will be called for each node visited.true to indicate that the tree visit is complete (eg. all components that need to be visited have been visited). This results in the tree visit being short-circuited such that no more components are visited.VisitContext.invokeVisitCallback()
public static void addPartialTarget(javax.faces.context.FacesContext facesContext,
PartialPageContext partialContext,
javax.faces.component.UIComponent component)
setPartialTarget(FacesContext, PartialPageContext) for UIXComponents or assumes for UIComponent that components with a renderer type are able to produce DOM elements that have IDs that can be replaced.facesContext - the faces contextpartialContext - the partial page contextcomponent - the component to add as a target
protected void setPartialTarget(javax.faces.context.FacesContext facesContext,
PartialPageContext partialContext)
RequestContext. The component should add the client ID the desired rendered component to the context. This allows components that do not render a replacable DOM element with an ID to choose an alternative component, like a parent.facesContext - the faces contextpartialContext - the partial page contextprotected boolean isVisitable(VisitContext visitContext)
Called by UIXComponent.visitTree() to determine whether this component is "visitable" - ie. whether this component satisfies the org.apache.myfaces.trinidad.component.visit.VisitHints returned by VisitContext.getHints().
If this component is not visitable (ie. if this method returns false), the tree visited is short-circuited such that neither the component nor any of its descendents will be visited>
Custom treeVisit() implementations may call this method to determine whether the component is visitable before performing any visit-related processing.
public VisitResult partialEncodeVisit(VisitContext visitContext,
PartialPageContext partialContext,
VisitCallback callback)
Called when visiting the component during optimized partial page encoding so that the component can modify what is actually encoded. For example tab controls often render the tabs for the ShowDetailItems in the tab bar before delegating to the disclosed ShowDetailItem to render the tab content. As a result, the tab control needs to encode its tab bar if any of its ShowDetailItems are partial targets so that the tab labels, for example, are up-to-date.
The default implementation delegates to the CoreRenderer if this component has one, otherwise it calls the VisitCallback and returns its result if this UIXComponent is a partial target of the current encoding.
visitContext - VisitContext to pass to the VisitCallbackpartialContext - PartialPageContext for the current partial encodingcallback - VisitCallback to call if this component is a partial targetpublic javax.faces.component.UIComponent getLogicalParent()
public static javax.faces.component.UIComponent getLogicalParent(javax.faces.component.UIComponent component)
component - - child component whose parent is being retrievedprotected void setupVisitingContext(javax.faces.context.FacesContext context)
Sets up the context necessary to visit or invoke the component for all phases.
The default implementation does nothing.
If a subclass overrides this method, it should override tearDownVisitingContext as well.
It is guaranteed that if setupVisitingContext completes tearDownVisitingContext will be called for this component
tearDownVisitingContext(javax.faces.context.FacesContext), setUpEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext), tearDownEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext)protected void tearDownVisitingContext(javax.faces.context.FacesContext context)
Tears down context created in order to visit or invoke the component for all phases.
The default implementation does nothing.
A subclass should only override this method if it overrode setupVisitingContext as well
It is guaranteed that tearDownVisitingContext will be called only after setupVisitingContext has been called for this component
setupVisitingContext(javax.faces.context.FacesContext), setUpEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext), tearDownEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext)
protected void setUpEncodingContext(javax.faces.context.FacesContext context,
RenderingContext rc)
Sets up the context necessary to encode the component.
The default implementation delegates to CoreRenderer.setupEncodingContext and then calls setupVisitingContext
If a subclass overrides this method, it should override tearDownEncodingContext as well.
It is guaranteed that if setUpEncodingContext completes tearDownEncodingContext will be called for this component
setupVisitingContext(javax.faces.context.FacesContext), tearDownVisitingContext(javax.faces.context.FacesContext), tearDownEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext), CoreRenderer.setupEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext, org.apache.myfaces.trinidad.component.UIXComponent)
protected void tearDownEncodingContext(javax.faces.context.FacesContext context,
RenderingContext rc)
Tears down the context created in order to encode the component
The default implementation delegates to CoreRenderer.tearDownEncodingContext and then calls tearDownVisitingContext
A subclass should only override this method if it overrode setUpEncodingContext as well
It is guaranteed that tearDownEncodingContext will be called only after setUpEncodingContext has been called for this component
setUpEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext), tearDownVisitingContext(javax.faces.context.FacesContext), setUpEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext), CoreRenderer.tearDownEncodingContext(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.context.RenderingContext, org.apache.myfaces.trinidad.component.UIXComponent)public abstract FacesBean getFacesBean()
public abstract void addAttributeChangeListener(AttributeChangeListener acl)
public abstract void removeAttributeChangeListener(AttributeChangeListener acl)
public abstract AttributeChangeListener[] getAttributeChangeListeners()
public abstract void setAttributeChangeListener(javax.el.MethodExpression me)
public abstract javax.el.MethodExpression getAttributeChangeListener()
public abstract void markInitialState()
public abstract java.lang.String getContainerClientId(javax.faces.context.FacesContext context,
javax.faces.component.UIComponent child)
UIXComponentBase.getClientId(FacesContext context)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright © 2001-2012 The Apache Software Foundation. All Rights Reserved.