1
2
3
4 package org.andromda.metafacades.uml14;
5
6 /***
7 * MetafacadeLogic for org.andromda.metafacades.uml.AssociationFacade
8 *
9 * @see org.andromda.metafacades.uml.AssociationFacade
10 */
11 public abstract class AssociationFacadeLogic
12 extends org.andromda.metafacades.uml14.GeneralizableElementFacadeLogicImpl
13 implements org.andromda.metafacades.uml.AssociationFacade
14 {
15
16 protected org.omg.uml.foundation.core.UmlAssociation metaObject;
17
18 public AssociationFacadeLogic(org.omg.uml.foundation.core.UmlAssociation metaObject, String context)
19 {
20 super(metaObject, getContext(context));
21 this.metaObject = metaObject;
22 }
23
24 /***
25 * Gets the context for this metafacade logic instance.
26 */
27 private static String getContext(String context)
28 {
29 if (context == null)
30 {
31 context = "org.andromda.metafacades.uml.AssociationFacade";
32 }
33 return context;
34 }
35
36 /***
37 * @see org.andromda.core.metafacade.MetafacadeBase
38 */
39 public void resetMetafacadeContext(String context)
40 {
41 if (!this.contextRoot)
42 {
43 context = getContext(context);
44 setMetafacadeContext (context);
45 }
46 }
47
48 /***
49 * @see org.andromda.metafacades.uml.AssociationFacade
50 */
51 public boolean isAssociationFacadeMetaType()
52 {
53 return true;
54 }
55
56
57
58 /***
59 * @see org.andromda.metafacades.uml.AssociationFacade#getRelationName()
60 */
61 protected abstract java.lang.String handleGetRelationName();
62
63 private void handleGetRelationName1aPreCondition()
64 {
65 }
66
67 private void handleGetRelationName1aPostCondition()
68 {
69 }
70
71 private java.lang.String __relationName1a;
72 private boolean __relationName1aSet = false;
73
74 public final java.lang.String getRelationName()
75 {
76 java.lang.String relationName1a = this.__relationName1a;
77 if (!this.__relationName1aSet)
78 {
79 handleGetRelationName1aPreCondition();
80 relationName1a = handleGetRelationName();
81 handleGetRelationName1aPostCondition();
82 this.__relationName1a = relationName1a;
83 if (isMetafacadePropertyCachingEnabled())
84 {
85 this.__relationName1aSet = true;
86 }
87 }
88 return relationName1a;
89 }
90
91 /***
92 * @see org.andromda.metafacades.uml.AssociationFacade#isMany2Many()
93 */
94 protected abstract boolean handleIsMany2Many();
95
96 private void handleIsMany2Many2aPreCondition()
97 {
98 }
99
100 private void handleIsMany2Many2aPostCondition()
101 {
102 }
103
104 private boolean __many2Many2a;
105 private boolean __many2Many2aSet = false;
106
107 public final boolean isMany2Many()
108 {
109 boolean many2Many2a = this.__many2Many2a;
110 if (!this.__many2Many2aSet)
111 {
112 handleIsMany2Many2aPreCondition();
113 many2Many2a = handleIsMany2Many();
114 handleIsMany2Many2aPostCondition();
115 this.__many2Many2a = many2Many2a;
116 if (isMetafacadePropertyCachingEnabled())
117 {
118 this.__many2Many2aSet = true;
119 }
120 }
121 return many2Many2a;
122 }
123
124 /***
125 * @see org.andromda.metafacades.uml.AssociationFacade#isAssociationClass()
126 */
127 protected abstract boolean handleIsAssociationClass();
128
129 private void handleIsAssociationClass3aPreCondition()
130 {
131 }
132
133 private void handleIsAssociationClass3aPostCondition()
134 {
135 }
136
137 private boolean __associationClass3a;
138 private boolean __associationClass3aSet = false;
139
140 public final boolean isAssociationClass()
141 {
142 boolean associationClass3a = this.__associationClass3a;
143 if (!this.__associationClass3aSet)
144 {
145 handleIsAssociationClass3aPreCondition();
146 associationClass3a = handleIsAssociationClass();
147 handleIsAssociationClass3aPostCondition();
148 this.__associationClass3a = associationClass3a;
149 if (isMetafacadePropertyCachingEnabled())
150 {
151 this.__associationClass3aSet = true;
152 }
153 }
154 return associationClass3a;
155 }
156
157 /***
158 * @see org.andromda.metafacades.uml.AssociationFacade#isAbstract()
159 */
160 protected abstract boolean handleIsAbstract();
161
162 private void handleIsAbstract4aPreCondition()
163 {
164 }
165
166 private void handleIsAbstract4aPostCondition()
167 {
168 }
169
170 private boolean __abstract4a;
171 private boolean __abstract4aSet = false;
172
173 public final boolean isAbstract()
174 {
175 boolean abstract4a = this.__abstract4a;
176 if (!this.__abstract4aSet)
177 {
178 handleIsAbstract4aPreCondition();
179 abstract4a = handleIsAbstract();
180 handleIsAbstract4aPostCondition();
181 this.__abstract4a = abstract4a;
182 if (isMetafacadePropertyCachingEnabled())
183 {
184 this.__abstract4aSet = true;
185 }
186 }
187 return abstract4a;
188 }
189
190 /***
191 * @see org.andromda.metafacades.uml.AssociationFacade#isLeaf()
192 */
193 protected abstract boolean handleIsLeaf();
194
195 private void handleIsLeaf5aPreCondition()
196 {
197 }
198
199 private void handleIsLeaf5aPostCondition()
200 {
201 }
202
203 private boolean __leaf5a;
204 private boolean __leaf5aSet = false;
205
206 public final boolean isLeaf()
207 {
208 boolean leaf5a = this.__leaf5a;
209 if (!this.__leaf5aSet)
210 {
211 handleIsLeaf5aPreCondition();
212 leaf5a = handleIsLeaf();
213 handleIsLeaf5aPostCondition();
214 this.__leaf5a = leaf5a;
215 if (isMetafacadePropertyCachingEnabled())
216 {
217 this.__leaf5aSet = true;
218 }
219 }
220 return leaf5a;
221 }
222
223
224
225 private void handleGetAssociationEnds1rPreCondition()
226 {
227 }
228
229 private void handleGetAssociationEnds1rPostCondition()
230 {
231 }
232
233 public final java.util.List getAssociationEnds()
234 {
235 java.util.List getAssociationEnds1r = null;
236 handleGetAssociationEnds1rPreCondition();
237 Object result = this.shieldedElements(handleGetAssociationEnds());
238 try
239 {
240 getAssociationEnds1r = (java.util.List)result;
241 }
242 catch (ClassCastException ex)
243 {
244
245
246 }
247 handleGetAssociationEnds1rPostCondition();
248 return getAssociationEnds1r;
249 }
250
251 protected abstract java.util.List handleGetAssociationEnds();
252
253 private void handleGetAssociationEndA2rPreCondition()
254 {
255 }
256
257 private void handleGetAssociationEndA2rPostCondition()
258 {
259 }
260
261 private org.andromda.metafacades.uml.AssociationEndFacade __getAssociationEndA2r;
262 private boolean __getAssociationEndA2rSet = false;
263
264 public final org.andromda.metafacades.uml.AssociationEndFacade getAssociationEndA()
265 {
266 org.andromda.metafacades.uml.AssociationEndFacade getAssociationEndA2r = this.__getAssociationEndA2r;
267 if (!this.__getAssociationEndA2rSet)
268 {
269 handleGetAssociationEndA2rPreCondition();
270 Object result = this.shieldedElement(handleGetAssociationEndA());
271 try
272 {
273 getAssociationEndA2r = (org.andromda.metafacades.uml.AssociationEndFacade)result;
274 }
275 catch (ClassCastException ex)
276 {
277
278
279 }
280 handleGetAssociationEndA2rPostCondition();
281 this.__getAssociationEndA2r = getAssociationEndA2r;
282 if (isMetafacadePropertyCachingEnabled())
283 {
284 this.__getAssociationEndA2rSet = true;
285 }
286 }
287 return getAssociationEndA2r;
288 }
289
290 protected abstract java.lang.Object handleGetAssociationEndA();
291
292 private void handleGetAssociationEndB3rPreCondition()
293 {
294 }
295
296 private void handleGetAssociationEndB3rPostCondition()
297 {
298 }
299
300 private org.andromda.metafacades.uml.AssociationEndFacade __getAssociationEndB3r;
301 private boolean __getAssociationEndB3rSet = false;
302
303 public final org.andromda.metafacades.uml.AssociationEndFacade getAssociationEndB()
304 {
305 org.andromda.metafacades.uml.AssociationEndFacade getAssociationEndB3r = this.__getAssociationEndB3r;
306 if (!this.__getAssociationEndB3rSet)
307 {
308 handleGetAssociationEndB3rPreCondition();
309 Object result = this.shieldedElement(handleGetAssociationEndB());
310 try
311 {
312 getAssociationEndB3r = (org.andromda.metafacades.uml.AssociationEndFacade)result;
313 }
314 catch (ClassCastException ex)
315 {
316
317
318 }
319 handleGetAssociationEndB3rPostCondition();
320 this.__getAssociationEndB3r = getAssociationEndB3r;
321 if (isMetafacadePropertyCachingEnabled())
322 {
323 this.__getAssociationEndB3rSet = true;
324 }
325 }
326 return getAssociationEndB3r;
327 }
328
329 protected abstract java.lang.Object handleGetAssociationEndB();
330
331 /***
332 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(java.util.Collection)
333 */
334 public void validateInvariants(java.util.Collection validationMessages)
335 {
336 super.validateInvariants(validationMessages);
337 }
338
339 /***
340 * The property that stores the name of the metafacade.
341 */
342 private static final String NAME_PROPERTY = "name";
343
344 /***
345 * @see java.lang.Object#toString()
346 */
347 public String toString()
348 {
349 final StringBuffer toString = new StringBuffer(this.getClass().getName());
350 toString.append("[");
351 try
352 {
353 toString.append(org.andromda.core.common.Introspector.instance().getProperty(this, NAME_PROPERTY));
354 }
355 catch (final Throwable throwable)
356 {
357
358 }
359 toString.append("]");
360 return toString.toString();
361 }
362 }