Class BasicTilesContainer

java.lang.Object
org.apache.tiles.core.impl.BasicTilesContainer
All Implemented Interfaces:
TilesContainer, AttributeEvaluatorFactoryAware

public class BasicTilesContainer extends Object implements TilesContainer, AttributeEvaluatorFactoryAware
Basic implementation of the tiles container interface. In most cases, this container will be customized by injecting customized services, not necessarily by override the container
Since:
2.0
  • Constructor Details

    • BasicTilesContainer

      public BasicTilesContainer()
  • Method Details

    • startContext

      public AttributeContext startContext(Request request)
      Starts a new context, where attribute values are stored independently of others.
      When the use of the contexts is finished, callTilesContainer.endContext(Request)
      Specified by:
      startContext in interface TilesContainer
      Parameters:
      request - The request.
      Returns:
      The newly created context.
    • endContext

      public void endContext(Request request)
      Ends a context, where attribute values are stored independently of others.
      It must be called after a TilesContainer.startContext(Request) call.
      Specified by:
      endContext in interface TilesContainer
      Parameters:
      request - The request.
    • renderContext

      public void renderContext(Request request)
      Renders the current context, as it is.
      Specified by:
      renderContext in interface TilesContainer
      Parameters:
      request - The request.
    • getApplicationContext

      public ApplicationContext getApplicationContext()
      Returns the Tiles application context used by this container.
      Specified by:
      getApplicationContext in interface TilesContainer
      Returns:
      the application context for this container.
    • setApplicationContext

      public void setApplicationContext(ApplicationContext context)
      Sets the Tiles application context to use.
      Parameters:
      context - The Tiles application context.
    • getAttributeContext

      public AttributeContext getAttributeContext(Request request)
      Retrieve the attribute context of the current request.
      Specified by:
      getAttributeContext in interface TilesContainer
      Parameters:
      request - The request.
      Returns:
      map of the attributes in the current attribute context.
    • setDefinitionsFactory

      public void setDefinitionsFactory(DefinitionsFactory definitionsFactory)
      Set the definitions factory. This method first ensures that the container has not yet been initialized.
      Parameters:
      definitionsFactory - the definitions factory for this instance.
    • setPreparerFactory

      public void setPreparerFactory(PreparerFactory preparerFactory)
      Set the preparerInstance factory. This method first ensures that the container has not yet been initialized.
      Parameters:
      preparerFactory - the preparerInstance factory for this conainer.
    • setRendererFactory

      public void setRendererFactory(RendererFactory rendererFactory)
      Sets the renderer instance factory.
      Parameters:
      rendererFactory - the renderer instance factory for this container.
      Since:
      2.1.0
    • setAttributeEvaluatorFactory

      public void setAttributeEvaluatorFactory(AttributeEvaluatorFactory attributeEvaluatorFactory)
      Sets the attribute evaluator factory.
      Specified by:
      setAttributeEvaluatorFactory in interface AttributeEvaluatorFactoryAware
      Parameters:
      attributeEvaluatorFactory - The attribute evaluator factory to use.
    • prepare

      public void prepare(String preparer, Request request)
      Executes a preparer.
      Specified by:
      prepare in interface TilesContainer
      Parameters:
      preparer - The name of the preparer to execute.
      request - The request.
    • render

      public void render(String definitionName, Request request)
      Render the given tiles request.
      Specified by:
      render in interface TilesContainer
      Parameters:
      definitionName - the current definition.
      request - The request.
    • render

      public void render(Definition definition, Request request)
      Renders the specified definition.
      Specified by:
      render in interface TilesContainer
      Parameters:
      definition - The definition to render.
      request - The request context.
      Since:
      2.1.3
    • render

      public void render(Attribute attr, Request request) throws IOException
      Render the given Attribute.
      Specified by:
      render in interface TilesContainer
      Parameters:
      attr - The attribute to render.
      request - The request.
      Throws:
      IOException - If something goes wrong during writing to the output.
    • evaluate

      public Object evaluate(Attribute attribute, Request request)
      Evaluates the given attribute.
      Specified by:
      evaluate in interface TilesContainer
      Parameters:
      attribute - The attribute to evaluate.
      request - The request.
      Returns:
      The evaluated object.
    • isValidDefinition

      public boolean isValidDefinition(String definitionName, Request request)
      Determine whether the definition exists.
      Specified by:
      isValidDefinition in interface TilesContainer
      Parameters:
      definitionName - the name of the definition.
      request - The request.
      Returns:
      true if the definition is found.
    • getDefinition

      public Definition getDefinition(String definitionName, Request request)
      Returns a definition specifying its name.
      Specified by:
      getDefinition in interface TilesContainer
      Parameters:
      definitionName - The name of the definition to find.
      request - The request context.
      Returns:
      The definition, if found.
    • getContextStack

      protected Deque<AttributeContext> getContextStack(Request tilesContext)
      Returns the context stack.
      Parameters:
      tilesContext - The Tiles context object to use.
      Returns:
      The needed stack of contexts.
      Since:
      2.0.6
    • pushContext

      protected void pushContext(AttributeContext context, Request tilesContext)
      Pushes a context object in the stack.
      Parameters:
      context - The context to push.
      tilesContext - The Tiles context object to use.
      Since:
      2.0.6
    • popContext

      protected AttributeContext popContext(Request tilesContext)
      Pops a context object out of the stack.
      Parameters:
      tilesContext - The Tiles context object to use.
      Returns:
      The popped context object.
      Since:
      2.0.6
    • getContext

      protected AttributeContext getContext(Request tilesContext)
      Get attribute context from request.
      Parameters:
      tilesContext - current Tiles application context.
      Returns:
      BasicAttributeContext or null if context is not found.
      Since:
      2.0.6
    • render

      protected void render(Request request, AttributeContext attributeContext)
      Renders the specified attribute context.
      Parameters:
      request - The request context.
      attributeContext - The context to render.
      Throws:
      InvalidTemplateException - If the template is not valid.
      CannotRenderException - If something goes wrong during rendering.
      Since:
      2.1.3