Package org.apache.tiles.api

# Interface TilesContainer

All Known Subinterfaces:
  `MutableTilesContainer`

All Known Implementing Classes:
  `BasicTilesContainer`, `CachingTilesContainer`, `TilesContainerWrapper`

public interface TilesContainer
An encapsulation of the Tiles framework. This interface is used to expose tiles features to frameworks which leverage it as a plugin. It can alternately be used by web applications which would like a programmatic interface.

Since:
  2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `endContext(Request request)`
  Ends a context, where attribute values are stored independently of others.
  It must be called after a `startContext(Request)` call.
  `Object`
  `evaluate(Attribute attribute, Request request)`
  Evaluates the given attribute.
  `ApplicationContext`
  `getApplicationContext()`
  Retrieve the container's context.
  `AttributeContext`
  `getAttributeContext(Request request)`
  Retrieve the attribute context of the current request.
  `Definition`
  `getDefinition(String definitionName, Request request)`
  Returns a definition specifying its name.
  `boolean`
  `isValidDefinition(String definition, Request request)`
  Determine whether the definition exists.
  `void`
  `prepare(String preparer, Request request)`
  Executes a preparer.
  `void`
  `render(String definition, Request request)`
  Render the given tiles request.
  `void`
  `render(Attribute attribute, Request request)`
  Render the given Attribute.
  `void`
  `render(Definition definition, Request request)`
  Renders the specified definition.
  `void`
  `renderContext(Request request)`
  Renders the current context, as it is.
  `AttributeContext`
  `startContext(Request request)`
  Starts a new context, where attribute values are stored independently of others.
  When the use of the contexts is finished, call`endContext(Request)`

- ## Method Details

  - ### getApplicationContext

    ApplicationContext getApplicationContext()
    Retrieve the container's context.
    Returns:
      current application context

  - ### getAttributeContext

    AttributeContext getAttributeContext(Request request)
    Retrieve the attribute context of the current request.
    Parameters:
      `request` - The request.
    Returns:
      map of the attributes in the current attribute context.

  - ### startContext

    AttributeContext startContext(Request request)
    Starts a new context, where attribute values are stored independently of others.
    When the use of the contexts is finished, call`endContext(Request)`
    Parameters:
      `request` - The request.
    Returns:
      The newly created context.

  - ### endContext

    void endContext(Request request)
    Ends a context, where attribute values are stored independently of others.
    It must be called after a `startContext(Request)` call.
    Parameters:
      `request` - The request.

  - ### renderContext

    void renderContext(Request request)
    Renders the current context, as it is.
    Parameters:
      `request` - The request.
    Since:
      2.1.0

  - ### prepare

    void prepare(String preparer, Request request)
    Executes a preparer.
    Parameters:
      `preparer` - The name of the preparer to execute.
      `request` - The request.

  - ### render

    void render(String definition, Request request)
    Render the given tiles request.
    Parameters:
      `definition` - the current definition.
      `request` - The request.

  - ### render

    void render(Definition definition, Request request)
    Renders the specified definition.
    Parameters:
      `definition` - The definition to render.
      `request` - The request context.

  - ### render

    void render(Attribute attribute, Request request) throws IOException
    Render the given Attribute.
    Parameters:
      `attribute` - The attribute to render.
      `request` - The request.
    Throws:
      `IOException` - If something goes wrong during writing to the output.
    Since:
      2.1.2

  - ### evaluate

    Object evaluate(Attribute attribute, Request request)
    Evaluates the given attribute.
    Parameters:
      `attribute` - The attribute to evaluate.
      `request` - The request.
    Returns:
      The evaluated object.
    Since:
      2.1.0

  - ### getDefinition

    Definition getDefinition(String definitionName, Request request)
    Returns a definition specifying its name.
    Parameters:
      `definitionName` - The name of the definition to find.
      `request` - The request context.
    Returns:
      The definition, if found.

  - ### isValidDefinition

    boolean isValidDefinition(String definition, Request request)
    Determine whether the definition exists.
    Parameters:
      `definition` - the name of the definition.
      `request` - The request.
    Returns:
      true if the definition is found.