Package org.apache.myfaces.view.facelets
Class AbstractFaceletContext
java.lang.Object
jakarta.el.ELContext
jakarta.faces.view.facelets.FaceletContext
org.apache.myfaces.view.facelets.AbstractFaceletContext
This class contains methods that belongs to original FaceletContext shipped in
facelets code before 2.0, but does not take part from api, so are considered
implementation details. This includes methods related to template handling
feature of facelets (called by ui:composition, ui:define and ui:insert).
The methods here are only used by the current implementation and the intention
is not expose it as public api.
Aditionally, it also contains methods used by the current implementation for
implement new features, like composite components and UniqueIdVendor support.
- Since:
- 2.0
- Version:
- $Revision$ $Date$
- Author:
- Leonardo Uribe (latest modification by $Author$)
-
Field Summary
Fields inherited from class jakarta.faces.view.facelets.FaceletContext
FACELET_CONTEXT_KEY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Cleanup all initialization done for construct an EL Expression.abstract void
applyCompositeComponent
(UIComponent parent, Resource resource) Apply the facelet referenced by a url containing a composite component definition to the current UIComponent.void
Indicates an expression will be resolved, so preparations should be done to detect if a contextual variable has been resolved.abstract void
extendClient
(TemplateClient client) generateUniqueFaceletTagId
(String count, String base) abstract Iterator<AjaxHandler>
Return a descending iterator containing the ajax handlers to be applied to an specific component that implements ClientBehaviorHolder interface, according to the conditions specified on jsf 2.0 spec section 10.4.1.1.Return the mode used to decide whether to cache or not EL expressionsabstract FaceletCompositionContext
Return the current FaceletCompositionContext instance from this build.Return the current page contextReturn the current template contextabstract boolean
includeCompositeComponentDefinition
(UIComponent parent, String name) This method resolve the current definition to be added by cc:insertChildren or cc:insertFacet.abstract boolean
includeDefinition
(UIComponent parent, String name) This method will walk through the TemplateClient stack to resolve and apply the definition for the passed name.boolean
boolean
Check if a variable has been resolved by this variable mapper or any parent "facelets contextual" variable mapper.abstract boolean
Check if this build is for build composite component metadataabstract void
abstract TemplateManager
popClient
(TemplateClient client) Pop the last added pushed TemplateClientabstract void
Pop the current composite component template client, removing the current template context from stack.abstract TemplateManager
popExtendedClient
(TemplateClient client) Pop the last added extended TemplateClientPop the passed page context instance onto the stack.abstract TemplateContext
Pop the passed template context instance from stack.abstract void
pushAjaxHandlerToStack
(AjaxHandler parent) abstract void
pushClient
(TemplateClient client) Push the passed TemplateClient onto the stack for Definition Resolutionabstract void
Push the composite component tag handler identified by client on template context stack, triggering the creation of a new empty TemplateContext, that will be used to resolve templates used on that component later.void
pushPageContext
(PageContext client) Push the passed page context instance onto the stack.abstract void
pushTemplateContext
(TemplateContext templateContext) Push the passed template context instance onto the stack, so all slots to be resolved (using includeDefinition() call) will take into account the information there.Methods inherited from class jakarta.faces.view.facelets.FaceletContext
generateUniqueId, getAttribute, getExpressionFactory, getFacesContext, includeFacelet, includeFacelet, setAttribute, setFunctionMapper, setVariableMapper
Methods inherited from class jakarta.el.ELContext
addEvaluationListener, convertToType, enterLambdaScope, exitLambdaScope, getContext, getELResolver, getEvaluationListeners, getFunctionMapper, getImportHandler, getLambdaArgument, getLocale, getVariableMapper, isLambdaArgument, isPropertyResolved, notifyAfterEvaluation, notifyBeforeEvaluation, notifyPropertyResolved, putContext, setLocale, setPropertyResolved, setPropertyResolved
-
Constructor Details
-
AbstractFaceletContext
public AbstractFaceletContext()
-
-
Method Details
-
getFaceletCompositionContext
Return the current FaceletCompositionContext instance from this build.- Returns:
- the current FaceletCompositionContext instance
-
pushClient
Push the passed TemplateClient onto the stack for Definition Resolution- Parameters:
client
-- See Also:
-
popClient
Pop the last added pushed TemplateClient- See Also:
-
popExtendedClient
Pop the last added extended TemplateClient- Parameters:
client
-
-
extendClient
-
includeDefinition
public abstract boolean includeDefinition(UIComponent parent, String name) throws IOException, FaceletException, FacesException, jakarta.el.ELException This method will walk through the TemplateClient stack to resolve and apply the definition for the passed name. If it's been resolved and applied, this method will return true.- Parameters:
parent
- the UIComponent to apply toname
- name or null of the definition you want to apply- Returns:
- true if successfully applied, otherwise false
- Throws:
IOException
FaceletException
FacesException
jakarta.el.ELException
-
applyCompositeComponent
public abstract void applyCompositeComponent(UIComponent parent, Resource resource) throws IOException, FaceletException, FacesException, jakarta.el.ELException Apply the facelet referenced by a url containing a composite component definition to the current UIComponent. In other words, apply the section composite:implementation in the facelet to the current component. We need to do this here because DefaultFacelet is the one who has and handle the current FaceletFactory instance.- Parameters:
parent
-resource
-- Throws:
IOException
FaceletException
FacesException
jakarta.el.ELException
-
getAjaxHandlers
Return a descending iterator containing the ajax handlers to be applied to an specific component that implements ClientBehaviorHolder interface, according to the conditions specified on jsf 2.0 spec section 10.4.1.1.- Returns:
- Since:
- 2.0
-
popAjaxHandlerToStack
public abstract void popAjaxHandlerToStack()- Since:
- 2.0
-
pushAjaxHandlerToStack
- Since:
- 2.0
-
isBuildingCompositeComponentMetadata
public abstract boolean isBuildingCompositeComponentMetadata()Check if this build is for build composite component metadata- Returns:
- Since:
- 2.0
-
popCompositeComponentClient
public abstract void popCompositeComponentClient()Pop the current composite component template client, removing the current template context from stack.- Since:
- 2.0.1
-
pushCompositeComponentClient
Push the composite component tag handler identified by client on template context stack, triggering the creation of a new empty TemplateContext, that will be used to resolve templates used on that component later.- Parameters:
client
-- Since:
- 2.0.1
-
pushTemplateContext
Push the passed template context instance onto the stack, so all slots to be resolved (using includeDefinition() call) will take into account the information there.- Parameters:
templateContext
-- Since:
- 2.0.1
-
popTemplateContext
Pop the passed template context instance from stack. This method is used by CompositeComponentResourceTagHandler to resolve templates according to the composite component level it is necessary.- Since:
- 2.0.1
-
includeCompositeComponentDefinition
public abstract boolean includeCompositeComponentDefinition(UIComponent parent, String name) throws IOException, FaceletException, FacesException, jakarta.el.ELException This method resolve the current definition to be added by cc:insertChildren or cc:insertFacet.- Parameters:
parent
-name
-- Returns:
- Throws:
IOException
FaceletException
FacesException
jakarta.el.ELException
- Since:
- 2.0.1
-
getTemplateContext
Return the current template context- Returns:
- Since:
- 2.0.8
-
pushPageContext
Push the passed page context instance onto the stack.- Parameters:
client
-- Since:
- 2.0.8
-
popPageContext
Pop the passed page context instance onto the stack.- Since:
- 2.0.8
-
getPageContext
Return the current page context- Returns:
- Since:
- 2.0.8
-
isAnyFaceletsVariableResolved
public boolean isAnyFaceletsVariableResolved()Check if a variable has been resolved by this variable mapper or any parent "facelets contextual" variable mapper.- Returns:
- Since:
- 2.0.8
-
isAllowCacheELExpressions
public boolean isAllowCacheELExpressions() -
beforeConstructELExpression
public void beforeConstructELExpression()Indicates an expression will be resolved, so preparations should be done to detect if a contextual variable has been resolved.- Since:
- 2.0.8
-
afterConstructELExpression
public void afterConstructELExpression()Cleanup all initialization done for construct an EL Expression.- Since:
- 2.0.8
-
getELExpressionCacheMode
Return the mode used to decide whether to cache or not EL expressions- Since:
- 2.0.8
-
generateUniqueFaceletTagId
-