public interface FlattenedComponent
A good indicator that a component should implement FlattenedComponent is that the component doesn't delegate to a Renderer, but rather renders itself.
|Modifier and Type||Method and Description|
Set up the component context, process all of the renderable children of this component, and the restore the previous context, returning
<S> boolean processFlattenedChildren(javax.faces.context.FacesContext context, ComponentProcessingContext cpContext, ComponentProcessor<S> childProcessor, S callbackContext) throws IOException
trueif any of the children were processed.
The context set up and tear down to perform is identical to that which the component
would perform when handling rendering or implementing
To handle actually processing the children, the component will typically delegate to one
of the two
UIXComponent.processFlattenedChildren helpers. If the component only
processes a single child, as UIXSwitcher does, it will call the version taking a single child
as the argument. If it processes all of its children as UIXIterator and UIXGroup do, it
getChildren and pass the List<UIComponent> to the version accepting
This method should only be called if
true. If called when
false the behavior is undefined and the implementation may throw an
This method may only be called when the FlattenedComponent is in the correct context to process itself.
context- Current FacesContext
cpContext- ComponentProcesingContext represetning the current child iteration state
childProcessor- ComponentProcessor to call for each flattened child
callbackContext- childProcessor-specific context to be passed on each call to the childProcessor
trueif this FlattenedComponent actually processed any children
IOException- if an error occurs while processing children
IllegalStateException- if called when
UIXComponent.processFlattenedChildren(FacesContext, ComponentProcessingContext, ComponentProcessor, UIComponent, Object),
UIXComponent.processFlattenedChildren(FacesContext, ComponentProcessingContext, ComponentProcessor, Iterable, Object),
boolean isFlatteningChildren(javax.faces.context.FacesContext context)
trueif this FlattenedComponent is currently flattening its children. This allows a FlattenedComponent instance to flatten or not flatten its children as it sees fit.
It is illegal to call
processFlattenedChildren on a FlattenedComponent that
trueif this FlattenedComponent is currently flattening its children
processFlattenedChildren(javax.faces.context.FacesContext, org.apache.myfaces.trinidad.component.ComponentProcessingContext, org.apache.myfaces.trinidad.component.ComponentProcessor<S>, S)
Copyright © 2001-2017 The Apache Software Foundation. All Rights Reserved.