View Javadoc

1   /**
2    * <copyright>
3    * </copyright>
4    *
5    * $Id$
6    */
7   package BusinessDomainDsl;
8   
9   
10  /**
11   * <!-- begin-user-doc -->
12   * A representation of the model object '<em><b>Association</b></em>'.
13   * <!-- end-user-doc -->
14   *
15   * <p>
16   * The following features are supported:
17   * <ul>
18   *   <li>{@link BusinessDomainDsl.Association#getSource <em>Source</em>}</li>
19   *   <li>{@link BusinessDomainDsl.Association#getTarget <em>Target</em>}</li>
20   *   <li>{@link BusinessDomainDsl.Association#getSourceRoleName <em>Source Role Name</em>}</li>
21   *   <li>{@link BusinessDomainDsl.Association#getSourceMultiplicity <em>Source Multiplicity</em>}</li>
22   *   <li>{@link BusinessDomainDsl.Association#getTargetRoleName <em>Target Role Name</em>}</li>
23   *   <li>{@link BusinessDomainDsl.Association#getTargetMultiplicity <em>Target Multiplicity</em>}</li>
24   *   <li>{@link BusinessDomainDsl.Association#isComposite <em>Composite</em>}</li>
25   *   <li>{@link BusinessDomainDsl.Association#isBidirectional <em>Bidirectional</em>}</li>
26   *   <li>{@link BusinessDomainDsl.Association#isOrdered <em>Ordered</em>}</li>
27   *   <li>{@link BusinessDomainDsl.Association#getModel <em>Model</em>}</li>
28   * </ul>
29   * </p>
30   *
31   * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation()
32   * @model
33   * @generated
34   */
35  public interface Association extends ModelElement {
36  	/**
37       * Returns the value of the '<em><b>Source</b></em>' reference.
38       * It is bidirectional and its opposite is '{@link BusinessDomainDsl.BusinessClass#getAssociationsTo <em>Associations To</em>}'.
39       * <!-- begin-user-doc -->
40  	 * <p>
41  	 * If the meaning of the '<em>Source</em>' reference isn't clear,
42  	 * there really should be more of a description here...
43  	 * </p>
44  	 * <!-- end-user-doc -->
45       * @return the value of the '<em>Source</em>' reference.
46       * @see #setSource(BusinessClass)
47       * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_Source()
48       * @see BusinessDomainDsl.BusinessClass#getAssociationsTo
49       * @model opposite="associationsTo" required="true"
50       * @generated
51       */
52  	BusinessClass getSource();
53  
54  	/**
55       * Sets the value of the '{@link BusinessDomainDsl.Association#getSource <em>Source</em>}' reference.
56       * <!-- begin-user-doc -->
57  	 * <!-- end-user-doc -->
58       * @param value the new value of the '<em>Source</em>' reference.
59       * @see #getSource()
60       * @generated
61       */
62  	void setSource(BusinessClass value);
63  
64  	/**
65       * Returns the value of the '<em><b>Target</b></em>' reference.
66       * It is bidirectional and its opposite is '{@link BusinessDomainDsl.AbstractBusinessClass#getAssociationsFrom <em>Associations From</em>}'.
67       * <!-- begin-user-doc -->
68  	 * <p>
69  	 * If the meaning of the '<em>Target</em>' reference isn't clear,
70  	 * there really should be more of a description here...
71  	 * </p>
72  	 * <!-- end-user-doc -->
73       * @return the value of the '<em>Target</em>' reference.
74       * @see #setTarget(AbstractBusinessClass)
75       * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_Target()
76       * @see BusinessDomainDsl.AbstractBusinessClass#getAssociationsFrom
77       * @model opposite="associationsFrom" required="true"
78       * @generated
79       */
80  	AbstractBusinessClass getTarget();
81  
82  	/**
83       * Sets the value of the '{@link BusinessDomainDsl.Association#getTarget <em>Target</em>}' reference.
84       * <!-- begin-user-doc -->
85  	 * <!-- end-user-doc -->
86       * @param value the new value of the '<em>Target</em>' reference.
87       * @see #getTarget()
88       * @generated
89       */
90  	void setTarget(AbstractBusinessClass value);
91  
92  	/**
93       * Returns the value of the '<em><b>Source Role Name</b></em>' attribute.
94       * The default value is <code>"sourceRoleName"</code>.
95       * <!-- begin-user-doc -->
96  	 * <p>
97  	 * If the meaning of the '<em>Source Role Name</em>' attribute isn't clear,
98  	 * there really should be more of a description here...
99  	 * </p>
100 	 * <!-- end-user-doc -->
101      * @return the value of the '<em>Source Role Name</em>' attribute.
102      * @see #setSourceRoleName(String)
103      * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_SourceRoleName()
104      * @model default="sourceRoleName"
105      * @generated
106      */
107 	String getSourceRoleName();
108 
109 	/**
110      * Sets the value of the '{@link BusinessDomainDsl.Association#getSourceRoleName <em>Source Role Name</em>}' attribute.
111      * <!-- begin-user-doc -->
112 	 * <!-- end-user-doc -->
113      * @param value the new value of the '<em>Source Role Name</em>' attribute.
114      * @see #getSourceRoleName()
115      * @generated
116      */
117 	void setSourceRoleName(String value);
118 
119 	/**
120      * Returns the value of the '<em><b>Source Multiplicity</b></em>' attribute.
121      * The default value is <code>"One"</code>.
122      * The literals are from the enumeration {@link BusinessDomainDsl.Multiplicity}.
123      * <!-- begin-user-doc -->
124 	 * <p>
125 	 * If the meaning of the '<em>Source Multiplicity</em>' attribute isn't clear,
126 	 * there really should be more of a description here...
127 	 * </p>
128 	 * <!-- end-user-doc -->
129      * @return the value of the '<em>Source Multiplicity</em>' attribute.
130      * @see BusinessDomainDsl.Multiplicity
131      * @see #setSourceMultiplicity(Multiplicity)
132      * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_SourceMultiplicity()
133      * @model default="One"
134      * @generated
135      */
136 	Multiplicity getSourceMultiplicity();
137 
138 	/**
139      * Sets the value of the '{@link BusinessDomainDsl.Association#getSourceMultiplicity <em>Source Multiplicity</em>}' attribute.
140      * <!-- begin-user-doc -->
141 	 * <!-- end-user-doc -->
142      * @param value the new value of the '<em>Source Multiplicity</em>' attribute.
143      * @see BusinessDomainDsl.Multiplicity
144      * @see #getSourceMultiplicity()
145      * @generated
146      */
147 	void setSourceMultiplicity(Multiplicity value);
148 
149 	/**
150      * Returns the value of the '<em><b>Target Role Name</b></em>' attribute.
151      * The default value is <code>"targetRoleName"</code>.
152      * <!-- begin-user-doc -->
153 	 * <p>
154 	 * If the meaning of the '<em>Target Role Name</em>' attribute isn't clear,
155 	 * there really should be more of a description here...
156 	 * </p>
157 	 * <!-- end-user-doc -->
158      * @return the value of the '<em>Target Role Name</em>' attribute.
159      * @see #setTargetRoleName(String)
160      * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_TargetRoleName()
161      * @model default="targetRoleName"
162      * @generated
163      */
164 	String getTargetRoleName();
165 
166 	/**
167      * Sets the value of the '{@link BusinessDomainDsl.Association#getTargetRoleName <em>Target Role Name</em>}' attribute.
168      * <!-- begin-user-doc -->
169 	 * <!-- end-user-doc -->
170      * @param value the new value of the '<em>Target Role Name</em>' attribute.
171      * @see #getTargetRoleName()
172      * @generated
173      */
174 	void setTargetRoleName(String value);
175 
176 	/**
177      * Returns the value of the '<em><b>Target Multiplicity</b></em>' attribute.
178      * The default value is <code>"1"</code>.
179      * The literals are from the enumeration {@link BusinessDomainDsl.Multiplicity}.
180      * <!-- begin-user-doc -->
181 	 * <p>
182 	 * If the meaning of the '<em>Target Multiplicity</em>' attribute isn't clear,
183 	 * there really should be more of a description here...
184 	 * </p>
185 	 * <!-- end-user-doc -->
186      * @return the value of the '<em>Target Multiplicity</em>' attribute.
187      * @see BusinessDomainDsl.Multiplicity
188      * @see #setTargetMultiplicity(Multiplicity)
189      * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_TargetMultiplicity()
190      * @model default="1"
191      * @generated
192      */
193 	Multiplicity getTargetMultiplicity();
194 
195 	/**
196      * Sets the value of the '{@link BusinessDomainDsl.Association#getTargetMultiplicity <em>Target Multiplicity</em>}' attribute.
197      * <!-- begin-user-doc -->
198 	 * <!-- end-user-doc -->
199      * @param value the new value of the '<em>Target Multiplicity</em>' attribute.
200      * @see BusinessDomainDsl.Multiplicity
201      * @see #getTargetMultiplicity()
202      * @generated
203      */
204 	void setTargetMultiplicity(Multiplicity value);
205 
206 	/**
207      * Returns the value of the '<em><b>Composite</b></em>' attribute.
208      * The default value is <code>"false"</code>.
209      * <!-- begin-user-doc -->
210 	 * <p>
211 	 * If the meaning of the '<em>Composite</em>' attribute isn't clear,
212 	 * there really should be more of a description here...
213 	 * </p>
214 	 * <!-- end-user-doc -->
215      * @return the value of the '<em>Composite</em>' attribute.
216      * @see #setComposite(boolean)
217      * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_Composite()
218      * @model default="false"
219      * @generated
220      */
221 	boolean isComposite();
222 
223 	/**
224      * Sets the value of the '{@link BusinessDomainDsl.Association#isComposite <em>Composite</em>}' attribute.
225      * <!-- begin-user-doc -->
226 	 * <!-- end-user-doc -->
227      * @param value the new value of the '<em>Composite</em>' attribute.
228      * @see #isComposite()
229      * @generated
230      */
231 	void setComposite(boolean value);
232 
233 	/**
234      * Returns the value of the '<em><b>Bidirectional</b></em>' attribute.
235      * The default value is <code>"false"</code>.
236      * <!-- begin-user-doc -->
237 	 * <p>
238 	 * If the meaning of the '<em>Bidirectional</em>' attribute isn't clear,
239 	 * there really should be more of a description here...
240 	 * </p>
241 	 * <!-- end-user-doc -->
242      * @return the value of the '<em>Bidirectional</em>' attribute.
243      * @see #setBidirectional(boolean)
244      * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_Bidirectional()
245      * @model default="false" required="true"
246      * @generated
247      */
248 	boolean isBidirectional();
249 
250 	/**
251      * Sets the value of the '{@link BusinessDomainDsl.Association#isBidirectional <em>Bidirectional</em>}' attribute.
252      * <!-- begin-user-doc -->
253 	 * <!-- end-user-doc -->
254      * @param value the new value of the '<em>Bidirectional</em>' attribute.
255      * @see #isBidirectional()
256      * @generated
257      */
258 	void setBidirectional(boolean value);
259 
260 	/**
261      * Returns the value of the '<em><b>Ordered</b></em>' attribute.
262      * The default value is <code>"false"</code>.
263      * <!-- begin-user-doc -->
264 	 * <p>
265 	 * If the meaning of the '<em>Ordered</em>' attribute isn't clear,
266 	 * there really should be more of a description here...
267 	 * </p>
268 	 * <!-- end-user-doc -->
269      * @return the value of the '<em>Ordered</em>' attribute.
270      * @see #setOrdered(boolean)
271      * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_Ordered()
272      * @model default="false" required="true"
273      * @generated
274      */
275 	boolean isOrdered();
276 
277 	/**
278      * Sets the value of the '{@link BusinessDomainDsl.Association#isOrdered <em>Ordered</em>}' attribute.
279      * <!-- begin-user-doc -->
280 	 * <!-- end-user-doc -->
281      * @param value the new value of the '<em>Ordered</em>' attribute.
282      * @see #isOrdered()
283      * @generated
284      */
285 	void setOrdered(boolean value);
286 
287 	/**
288      * Returns the value of the '<em><b>Model</b></em>' container reference.
289      * It is bidirectional and its opposite is '{@link BusinessDomainDsl.BusinessDomainModel#getAssociations <em>Associations</em>}'.
290      * <!-- begin-user-doc -->
291 	 * <p>
292 	 * If the meaning of the '<em>Model</em>' container reference isn't clear,
293 	 * there really should be more of a description here...
294 	 * </p>
295 	 * <!-- end-user-doc -->
296      * @return the value of the '<em>Model</em>' container reference.
297      * @see #setModel(BusinessDomainModel)
298      * @see BusinessDomainDsl.BusinessDomainDslPackage#getAssociation_Model()
299      * @see BusinessDomainDsl.BusinessDomainModel#getAssociations
300      * @model opposite="associations" transient="false"
301      * @generated
302      */
303 	BusinessDomainModel getModel();
304 
305 	/**
306      * Sets the value of the '{@link BusinessDomainDsl.Association#getModel <em>Model</em>}' container reference.
307      * <!-- begin-user-doc -->
308 	 * <!-- end-user-doc -->
309      * @param value the new value of the '<em>Model</em>' container reference.
310      * @see #getModel()
311      * @generated
312      */
313 	void setModel(BusinessDomainModel value);
314 
315 } // Association