Class AbstractFaceletContext

java.lang.Object
jakarta.el.ELContext
jakarta.faces.view.facelets.FaceletContext
org.apache.myfaces.view.facelets.AbstractFaceletContext

public abstract class AbstractFaceletContext extends FaceletContext
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$)
  • Constructor Details

    • AbstractFaceletContext

      public AbstractFaceletContext()
  • Method Details

    • getFaceletCompositionContext

      public abstract FaceletCompositionContext getFaceletCompositionContext()
      Return the current FaceletCompositionContext instance from this build.
      Returns:
      the current FaceletCompositionContext instance
    • pushClient

      public abstract void pushClient(TemplateClient client)
      Push the passed TemplateClient onto the stack for Definition Resolution
      Parameters:
      client -
      See Also:
    • popClient

      public abstract TemplateManager popClient(TemplateClient client)
      Pop the last added pushed TemplateClient
      See Also:
    • popExtendedClient

      public abstract TemplateManager popExtendedClient(TemplateClient client)
      Pop the last added extended TemplateClient
      Parameters:
      client -
    • extendClient

      public abstract void extendClient(TemplateClient client)
    • 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 to
      name - 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

      public abstract Iterator<AjaxHandler> 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

      public abstract void pushAjaxHandlerToStack(AjaxHandler parent)
      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

      public abstract void pushCompositeComponentClient(TemplateClient client)
      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

      public 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.
      Parameters:
      templateContext -
      Since:
      2.0.1
    • popTemplateContext

      public abstract TemplateContext 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

      public TemplateContext getTemplateContext()
      Return the current template context
      Returns:
      Since:
      2.0.8
    • pushPageContext

      public void pushPageContext(PageContext client)
      Push the passed page context instance onto the stack.
      Parameters:
      client -
      Since:
      2.0.8
    • popPageContext

      public PageContext popPageContext()
      Pop the passed page context instance onto the stack.
      Since:
      2.0.8
    • getPageContext

      public PageContext 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

      public ELExpressionCacheMode getELExpressionCacheMode()
      Return the mode used to decide whether to cache or not EL expressions
      Since:
      2.0.8
    • generateUniqueFaceletTagId

      public String generateUniqueFaceletTagId(String count, String base)