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    * A property related by memberEnd or its specializations to an association represents an end of the
9    * association. The type of the property is the type of the end of the association .Property
10   * represents a declared state of one or more instances in terms of a named relationship to a value
11   * or values. When a property is an association end, the value or values are related to the instance
12   * or instances at the other end(s) of the association.
13   *
14   * Metafacade interface to be used by AndroMDA cartridges.
15   */
16  public interface AssociationEndFacade
17      extends ModelElementFacade
18  {
19      /**
20       * Indicates the metafacade type (used for metafacade mappings).
21       *
22       * @return boolean always <code>true</code>
23       */
24      public boolean isAssociationEndFacadeMetaType();
25  
26      /**
27       * A name suitable for use when adding new elements to this association end in programming code.
28       * @return String
29       */
30      public String getAdderName();
31  
32      /**
33       * Returns the value of the 'Aggregation' attribute (none, shared, composite). The default value
34       * is "none". The literals are from the enumeration org.eclipse.uml2.uml.AggregationKind.
35       * Specifies the kind of aggregation that applies to the Property.
36       * @return String
37       */
38      public String getAggregationKind();
39  
40      /**
41       * The association owning this association end.
42       * @return AssociationFacade
43       */
44      public AssociationFacade getAssociation();
45  
46      /**
47       * UML2: Returns the value of the 'Default' attribute. Specifies a String that represents a
48       * value to be used when no argument is supplied for the Property. A String that is evaluated to
49       * give a default value for the Property when an object of the owning Classifier is
50       * instantiated.  Can be something like: new ValueObject(values);
51       * @return String
52       */
53      public String getDefault();
54  
55      /**
56       * A name suitable for use when accessing this association end in programming code.
57       * @return String
58       */
59      public String getGetterName();
60  
61      /**
62       * The name of the type that is returned on the accessor and mutator operations,  determined in
63       * part by the multiplicity.
64       * @return String
65       */
66      public String getGetterSetterTypeName();
67  
68      /**
69       * the lower value for the multiplicity
70       * -only applicable for UML2
71       * @return int
72       */
73      public int getLower();
74  
75      /**
76       * The other association end owned by this end's association.
77       * @return AssociationEndFacade
78       */
79      public AssociationEndFacade getOtherEnd();
80  
81      /**
82       * A name suitable for use when removing element from this association end in programming code.
83       * @return String
84       */
85      public String getRemoverName();
86  
87      /**
88       * A name suitable for use when accessing this association end in programming code.
89       * @return String
90       */
91      public String getSetterName();
92  
93      /**
94       * The classifier attached to this association end.
95       * @return ClassifierFacade
96       */
97      public ClassifierFacade getType();
98  
99      /**
100      * the upper value for the multiplicity (will be -1 for *)
101      * -only applicable for UML2
102      * @return int
103      */
104     public int getUpper();
105 
106     /**
107      * True if this association end represents an aggregation relationship.
108      * @return boolean
109      */
110     public boolean isAggregation();
111 
112     /**
113      * Is true if update of one side of the association should also update the other side. false if
114      * not.
115      * @return boolean
116      */
117     public boolean isBidirectional();
118 
119     /**
120      * Returns whether or not (true/false) this association end is the child end of the assocation
121      * (i.e. the other end's aggregation is composition).
122      * @return boolean
123      */
124     public boolean isChild();
125 
126     /**
127      * True if this association end represents a composition relationship.
128      * @return boolean
129      */
130     public boolean isComposition();
131 
132     /**
133      * If the association end is derived (its value is computed). UML2 only. UML14 always returns
134      * false. Default=false.
135      * @return boolean
136      */
137     public boolean isDerived();
138 
139     /**
140      * IsLeaf property in the association end property. If true, attribute is final, cannot be
141      * extended or implemented by a descendant. Default=false.
142      * @return boolean
143      */
144     public boolean isLeaf();
145 
146     /**
147      * True if this association end's multiplicity is greater than one.
148      * @return boolean
149      */
150     public boolean isMany();
151 
152     /**
153      * True if this association end's and the other end's multiplicities are both many.
154      * @return boolean
155      */
156     public boolean isMany2Many();
157 
158     /**
159      * True if this association end's multiplicity is many while the other end's is one.
160      * @return boolean
161      */
162     public boolean isMany2One();
163 
164     /**
165      * True if it is possible to navigate from the other end to this association end .
166      * @return boolean
167      */
168     public boolean isNavigable();
169 
170     /**
171      * True if this association end's multiplicity is one while the other end's is many.
172      * @return boolean
173      */
174     public boolean isOne2Many();
175 
176     /**
177      * True if this association end's and the other end's multiplicities are both one.
178      * @return boolean
179      */
180     public boolean isOne2One();
181 
182     /**
183      * Indicates whether or not the association ends are ordered (if multiplicity is greater than
184      * 1).
185      * @return boolean
186      */
187     public boolean isOrdered();
188 
189     /**
190      * True if the association end cannot be changed.
191      * @return boolean
192      */
193     public boolean isReadOnly();
194 
195     /**
196      * True if this association end's multiplicity is strictly greater than zero.
197      * @return boolean
198      */
199     public boolean isRequired();
200 
201     /**
202      * Indicates if this associationEnd is 'static', meaning it has a classifier scope.
203      * @return boolean
204      */
205     public boolean isStatic();
206 
207     /**
208      * UML2: If the association attribute is unique within the Collection type. UML14 always returns
209      * false. Unique+Ordered determines the implementation Collection type. Default=false.
210      * @return boolean
211      */
212     public boolean isUnique();
213 }