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