View Javadoc
1   // license-header java merge-point
2   //
3   // Attention: generated code (by Metafacade.vsl) - do not modify!
4   //
5   package org.andromda.metafacades.uml;
6   
7   /**
8    * Represents an attribute on a classifier. UML2 maps both Attributes and AssociationEnds to
9    * Property. A property is a structural feature of a classifier that characterizes instances of the
10   * classifier. A property related by ownedAttribute to a classifier (other than an association)
11   * represents an attribute and might also represent an association end. It relates an instance of
12   * the class to a value or set of values of the type of the attribute. A property represents a set
13   * of instances that are owned by a containing classifier instance. Property represents a declared
14   * state of one or more instances in terms of a named relationship to a value or values. When a
15   * property is an attribute of a classifier, the value or values are related to the instance of the
16   * classifier by being held in slots of the instance. The range of valid values represented by the
17   * property can be controlled by setting the property's type.
18   *
19   * Metafacade interface to be used by AndroMDA cartridges.
20   */
21  public interface AttributeFacade
22      extends ModelElementFacade
23  {
24      /**
25       * Indicates the metafacade type (used for metafacade mappings).
26       *
27       * @return boolean always <code>true</code>
28       */
29      public boolean isAttributeFacadeMetaType();
30  
31      /**
32       * Searches the given feature for the specified tag.
33       * If the follow boolean is set to true then the search will continue from the class attribute
34       * to the class itself and then up the class hierarchy.
35       * @param name String
36       * @param follow boolean
37       * @return Object
38       */
39      public Object findTaggedValue(String name, boolean follow);
40  
41      /**
42       * The default value of the attribute.  This is the value given if no value is defined.
43       * @return String
44       */
45      public String getDefaultValue();
46  
47      /**
48       * If the attribute is an enumeration literal this represents the owning enumeration. Can be
49       * empty.
50       * @return EnumerationFacade
51       */
52      public EnumerationFacade getEnumeration();
53  
54      /**
55       * Returns the enumeration literal parameters defined by tagged value as a comma separated list.
56       * @return String
57       */
58      public String getEnumerationLiteralParameters();
59  
60      /**
61       * The value for this attribute if it is an enumeration literal, null otherwise. The default
62       * value is returned as a String if it has been specified, if it's not specified this
63       * attribute's name is assumed.
64       * @return String
65       */
66      public String getEnumerationValue();
67  
68      /**
69       * The name of the accessor operation that would retrieve this attribute's value.
70       * @return String
71       */
72      public String getGetterName();
73  
74      /**
75       * The name of the type that is returned on the accessor and mutator operations,  determined in
76       * part by the multiplicity.
77       * @return String
78       */
79      public String getGetterSetterTypeName();
80  
81      /**
82       * the lower value for the multiplicity
83       * -only applicable for UML2
84       * @return int
85       */
86      public int getLower();
87  
88      /**
89       * Gets the classifier who is the owner of the attributes.
90       * @return ClassifierFacade
91       */
92      public ClassifierFacade getOwner();
93  
94      /**
95       * The name of the mutator operation that would retrieve this attribute's value.
96       * @return String
97       */
98      public String getSetterName();
99  
100     /**
101      * The classifier owning this attribute.
102      * @return ClassifierFacade
103      */
104     public ClassifierFacade getType();
105 
106     /**
107      * the upper value for the multiplicity (will be -1 for *)
108      * -only applicable for UML2
109      * @return int
110      */
111     public int getUpper();
112 
113     /**
114      * True if this attribute can only be set.
115      * @return boolean
116      */
117     public boolean isAddOnly();
118 
119     /**
120      * True if this attribute can be modified.
121      * @return boolean
122      */
123     public boolean isChangeable();
124 
125     /**
126      * Indicates if the default value is present.
127      * @return boolean
128      */
129     public boolean isDefaultValuePresent();
130 
131     /**
132      * If the attribute is derived (its value is computed). UML2 only. UML14 always returns false.
133      * Default=false.
134      * @return boolean
135      */
136     public boolean isDerived();
137 
138     /**
139      * True if this attribute is owned by an enumeration.
140      * @return boolean
141      */
142     public boolean isEnumerationLiteral();
143 
144     /**
145      * Returns true if enumeration literal parameters exist (defined by tagged value) for the
146      * literal.
147      * @return boolean
148      */
149     public boolean isEnumerationLiteralParametersExist();
150 
151     /**
152      * True if this attribute is owned by an enumeration but is defined as a member variable (NOT a
153      * literal).
154      * @return boolean
155      */
156     public boolean isEnumerationMember();
157 
158     /**
159      * IsLeaf property in the operation. If true, operation is final, cannot be extended or
160      * implemented by a descendant.
161      * @return boolean
162      */
163     public boolean isLeaf();
164 
165     /**
166      * Whether or not this attribute has a multiplicity greater than 1.
167      * @return boolean
168      */
169     public boolean isMany();
170 
171     /**
172      * Indicates whether or not the attributes are ordered (if multiplicity is greater than 1).
173      * @return boolean
174      */
175     public boolean isOrdered();
176 
177     /**
178      * Whether or not this attribute can be modified.
179      * @return boolean
180      */
181     public boolean isReadOnly();
182 
183     /**
184      * Whether or not the multiplicity of this attribute is 1.
185      * @return boolean
186      */
187     public boolean isRequired();
188 
189     /**
190      * Indicates if this attribute is 'static', meaning it has a classifier scope.
191      * @return boolean
192      */
193     public boolean isStatic();
194 
195     /**
196      * If the attribute is unique within the Collection type. UML2 only. UML14 always returns false.
197      * Unique+Ordered determines the implementation Collection type. Default=false.
198      * @return boolean
199      */
200     public boolean isUnique();
201 }