View Javadoc

1   package de.matthias_burbach.mosaique.core.model;
2   
3   /***
4    * Is the internal representation of a Tiles put element that occurs within
5    * a Tiles definition or a Tiles insert element.
6    *
7    * @author Matthias Burbach
8    */
9   public class Put extends AbstractFileItem {
10      /***
11       * The name of the attribute.
12       */
13      private String name;
14  
15      /***
16       * The value of the attribute.
17       */
18      private String value;
19  
20      /***
21       * The definition putting this attribute. Is <code>null</code> if this is
22       * a dynamic put on a JSP within a tiles:insert element.
23       */
24      private Definition owner;
25  
26      /***
27       * Is <code>true</code> if this put is defined on a JSP within a
28       * tiles:insert element. The default is <code>false</code>.
29       */
30      private boolean dynamicPut = false;
31  
32      /***
33       * @param context The context to use by this instance.
34       */
35      public Put(final Context context) {
36          setContext(context);
37      }
38  
39      /***
40       * @return The definition putting this attribute. Is <code>null</code> if
41       *         this is a dynamic put on a JSP within a tiles:insert element.
42       */
43      public Definition getOwner() {
44          return owner;
45      }
46  
47      /***
48       * @param owner The definition putting this attribute. Is <code>null</code>
49       *              if this is a dynamic put on a JSP within a tiles:insert
50       *              element.
51       */
52      public void setOwner(final Definition owner) {
53          this.owner = owner;
54      }
55  
56      /***
57       * @return The definition referenced by the attributes value. Is
58       *         <code>null</code> if the value is not the name of a Tiles
59       *         definition.
60       */
61      public Definition getReferencedDefinition() {
62          return getDefinitionResolver().resolve(value);
63      }
64  
65      /***
66       * @return The name of the attribute.
67       */
68      public String getName() {
69          return name;
70      }
71  
72      /***
73       * @param name The name of the attribute.
74       */
75      public void setName(final String name) {
76          this.name = name;
77      }
78  
79      /***
80       * @return The value of the attribute.
81       */
82      public String getValue() {
83          return value;
84      }
85  
86      /***
87       * @param value The value of the attribute.
88       */
89      public void setValue(final String value) {
90          this.value = value;
91      }
92  
93      /***
94       * @return The level of the owner definition or -1 if there is no owner.
95       *         See {@link Definition#getLevel()}.
96       */
97      public int getLevel() {
98          int result = -1;
99          if (owner != null) {
100             result = owner.getLevel();
101         }
102         return result;
103     }
104 
105     /***
106      * @return Is <code>true</code> if this put is defined on a JSP within a
107      *         tiles:insert element. The default is <code>false</code>.
108      */
109     public boolean isDynamicPut() {
110         return dynamicPut;
111     }
112 
113     /***
114      * @param dynamicPut Is <code>true</code> if this put is defined on a JSP
115      *                   within a tiles:insert element.
116      *                   The default is <code>false</code>.
117      */
118     public void setDynamicPut(final boolean dynamicPut) {
119         this.dynamicPut = dynamicPut;
120     }
121 }