Package org.apache.tiles.api

# Interface AttributeContext

All Known Implementing Classes:
  `BasicAttributeContext`, `Definition`

public interface AttributeContext
Encapsulation of the current state of execution.

Since:
  Tiles 2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addAll(Map<String,Attribute> newAttributes)`
  Add all attributes to the context.
  `void`
  `clear()`
  Clear the attributes.
  `Attribute`
  `getAttribute(String name)`
  Retrieve the named attribute, either cascaded or not.
  `Attribute`
  `getCascadedAttribute(String name)`
  Retrieve the attribute that has been cascaded at upper levels.
  `Set<String>`
  `getCascadedAttributeNames()`
  Returns the names of the cascaded attributes.
  `Attribute`
  `getLocalAttribute(String name)`
  Retrieve the attribute that has been defined in this context (i.e.
  `Set<String>`
  `getLocalAttributeNames()`
  Returns the names of the local attributes, i.e.
  `String`
  `getPreparer()`
  Get associated preparer instance.
  `Attribute`
  `getTemplateAttribute()`
  Returns the attribute that will be used to render a template.
  `void`
  `inherit(AttributeContext parent)`
  Copies all missing attributes from the `parent` attribute context to this one.
  `void`
  `inheritCascadedAttributes(AttributeContext parent)`
  Copies the cascaded attributes to this attribute context.
  `void`
  `putAttribute(String name, Attribute value)`
  Add the specified attribute.
  `void`
  `putAttribute(String name, Attribute value, boolean cascade)`
  Add the specified attribute.
  `void`
  `setPreparer(String url)`
  Set associated preparer instance.
  `void`
  `setTemplateAttribute(Attribute templateAttribute)`
  Sets the template attribute, that will be used to render the template page.

- ## Method Details

  - ### getTemplateAttribute

    Attribute getTemplateAttribute()
    Returns the attribute that will be used to render a template.
    Returns:
      The template attribute.
    Since:
      2.1.2

  - ### setTemplateAttribute

    void setTemplateAttribute(Attribute templateAttribute)
    Sets the template attribute, that will be used to render the template page.
    Parameters:
      `templateAttribute` - The template attribute.
    Since:
      2.1.2

  - ### getPreparer

    String getPreparer()
    Get associated preparer instance.
    Returns:
      The preparer name.
    Since:
      2.1.0

  - ### setPreparer

    void setPreparer(String url)
    Set associated preparer instance.
    Parameters:
      `url` - The preparer name.
    Since:
      2.1.0

  - ### addAll

    void addAll(Map<String,Attribute> newAttributes)
    Add all attributes to the context.
    Parameters:
      `newAttributes` - the attributes to be added.

  - ### inheritCascadedAttributes

    void inheritCascadedAttributes(AttributeContext parent)
    Copies the cascaded attributes to this attribute context.
    Parameters:
      `parent` - The parent context to be used.
    Since:
      2.1.0

  - ### inherit

    void inherit(AttributeContext parent)
    Copies all missing attributes from the `parent` attribute context to this one.
    Parameters:
      `parent` - The attribute context to copy attributes from.
    Since:
      2.1.0

  - ### getAttribute

    Attribute getAttribute(String name)
    Retrieve the named attribute, either cascaded or not.
    Parameters:
      `name` - key name for the attribute.
    Returns:
      Attribute associated with the given name.

  - ### getLocalAttribute

    Attribute getLocalAttribute(String name)
    Retrieve the attribute that has been defined in this context (i.e. not cascaded).
    Parameters:
      `name` - key name for the attribute.
    Returns:
      Attribute The local attribute associated with the given name, if present, or `null` otherwise.
    Since:
      2.1.0

  - ### getCascadedAttribute

    Attribute getCascadedAttribute(String name)
    Retrieve the attribute that has been cascaded at upper levels.
    Parameters:
      `name` - key name for the attribute.
    Returns:
      Attribute The cascaded attribute associated with the given name, if present, or `null` otherwise.
    Since:
      2.1.0

  - ### getLocalAttributeNames

    Set<String> getLocalAttributeNames()
    Returns the names of the local attributes, i.e. the one that have not been cascaded.
    Returns:
      The local attribute names.
    Since:
      2.1.0

  - ### getCascadedAttributeNames

    Set<String> getCascadedAttributeNames()
    Returns the names of the cascaded attributes.
    Returns:
      The cascaded attribute names.
    Since:
      2.1.0

  - ### putAttribute

    void putAttribute(String name, Attribute value)
    Add the specified attribute. The attribute value will be available only in the current context, i.e. it is like calling `putAttribute(String, Attribute, boolean)` with `cascade = false`.
    Parameters:
      `name` - name of the attribute
      `value` - value of the attribute

  - ### putAttribute

    void putAttribute(String name, Attribute value, boolean cascade)
    Add the specified attribute.
    Parameters:
      `name` - name of the attribute
      `value` - value of the attribute
      `cascade` - If `true`, the attribute value will be available in all nested contexts. If `false`, it will be available only in the current context.
    Since:
      2.1.0

  - ### clear

    void clear()
    Clear the attributes.