Package org.apache.tiles.template

# Class PutAttributeModel

java.lang.Object
org.apache.tiles.template.PutAttributeModel

public class PutAttributeModel extends Object

Put an attribute in enclosing attribute container tag.

Enclosing attribute container tag can be :

- <initContainer>
- <definition>
- <insertAttribute>
- <insertDefinition>
- <putListAttribute>

(or any other tag which implements the `PutAttributeTagParent` interface. Exception is thrown if no appropriate tag can be found.

Put tag can have following atributes :

- name : Name of the attribute
- value : value to put as attribute
- type : value type. Possible type are : string (value is used as direct string), template (value is used as a page url to insert), definition (value is used as a definition name to insert), object (value is used as it is)
- role : Role to check when 'insertAttribute' will be called.

Value can also come from tag body. Tag body is taken into account only if value is not set by one of the tag attributes. In this case Attribute type is "string", unless tag body define another type.

Since:
  2.2.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PutAttributeModel()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `execute(String name, Object value, String expression, String role, String type, boolean cascade, Request request, ModelBody modelBody)`
  Executes the operation.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PutAttributeModel

    public PutAttributeModel()

- ## Method Details

  - ### execute

    public void execute(String name, Object value, String expression, String role, String type, boolean cascade, Request request, ModelBody modelBody) throws IOException
    Executes the operation.
    Parameters:
      `name` - The name of the attribute to put.
      `value` - The value of the attribute. Use this parameter, or expression, or body.
      `expression` - The expression to calculate the value from. Use this parameter, or value, or body.
      `role` - A comma-separated list of roles. If present, the attribute will be rendered only if the current user belongs to one of the roles.
      `type` - The type (renderer) of the attribute.
      `cascade` - If `true` the attribute will be cascaded to all nested attributes.
      `request` - The request.
      `modelBody` - The body.
    Throws:
      `IOException` - If the body cannot be evaluated.
    Since:
      2.2.0