CompositeComponentStackManager
is responsible for managing the two different composite component stacks
currently used by Mojarra.
The stacks are identified by the CompositeComponentStackManager.StackType
enum which has two elements,
TreeCreation
and Evaluation
.
The TreeCreation
stack represents the composite components that have been pushed by the TagHandlers
responsible for building the tree.
The Evaluation
stack is used by the EL in order to properly resolve nested composite component
expressions.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionfindCompositeComponentUsingLocation
(FacesContext ctx, Location location) getManager
(FacesContext ctx) getParentCompositeComponent
(CompositeComponentStackManager.StackType stackType, FacesContext ctx, UIComponent forComponent) peek()
peek
(CompositeComponentStackManager.StackType stackType) void
pop()
Pops the top-level component from theEvaluation
stack.void
pop
(CompositeComponentStackManager.StackType stackType) Pops the top-level component from the stack.boolean
push()
Pushes a component derived by the push logic to theEvaluation
stack.boolean
push
(CompositeComponentStackManager.StackType stackType) Pushes a component derived by the push logic to the specified stack.boolean
push
(UIComponent compositeComponent) Pushes the specified composite component to theEvaluation
stack.boolean
push
(UIComponent compositeComponent, CompositeComponentStackManager.StackType stackType) Pushes the specified composite component to the desiredStackType
stack.
-
Method Details
-
getManager
- Parameters:
ctx
- theFacesContext
for the current request- Returns:
- the
CompositeComponentStackManager
for the current request
-
push
Pushes the specified composite component to the
Evaluation
stack.- Parameters:
compositeComponent
- the component to push- Returns:
true
if the component was pushed, otherwise returnsfalse
-
push
public boolean push(UIComponent compositeComponent, CompositeComponentStackManager.StackType stackType) Pushes the specified composite component to the desired
StackType
stack.- Parameters:
compositeComponent
- the component to pushstackType
- the stack to push to the component to- Returns:
true
if the component was pushed, otherwise returnsfalse
-
push
public boolean push()Pushes a component derived by the push logic to the
Evaluation
stack.- Returns:
true
if the component was pushed, otherwise returnsfalse
-
push
Pushes a component derived by the push logic to the specified stack.
- Parameters:
stackType
- the stack to push to the component to- Returns:
true
if the component was pushed, otherwise returnsfalse
-
pop
Pops the top-level component from the stack.
- Parameters:
stackType
- the stack to pop the top level component from
-
pop
public void pop()Pops the top-level component from the
Evaluation
stack. -
peek
- Returns:
- the top-level component from the
Evaluation
stack without removing the element
-
peek
- Parameters:
stackType
- the stack to push to the component to- Returns:
- the top-level component from the specified stack without removing the element
-
getParentCompositeComponent
public UIComponent getParentCompositeComponent(CompositeComponentStackManager.StackType stackType, FacesContext ctx, UIComponent forComponent) -
findCompositeComponentUsingLocation
-