1 // license-header java merge-point
2 //
3 // Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
4 //
5 package org.andromda.cartridges.ejb3.metafacades;
6
7 import java.util.Collection;
8 import org.andromda.core.common.Introspector;
9 import org.andromda.core.metafacade.MetafacadeBase;
10 import org.andromda.core.metafacade.MetafacadeFactory;
11 import org.andromda.core.metafacade.ModelValidationMessage;
12 import org.andromda.metafacades.uml.AttributeFacade;
13 import org.andromda.metafacades.uml.ClassifierFacade;
14 import org.andromda.metafacades.uml.ConstraintFacade;
15 import org.andromda.metafacades.uml.DependencyFacade;
16 import org.andromda.metafacades.uml.EnumerationFacade;
17 import org.andromda.metafacades.uml.ModelElementFacade;
18 import org.andromda.metafacades.uml.ModelFacade;
19 import org.andromda.metafacades.uml.PackageFacade;
20 import org.andromda.metafacades.uml.StateMachineFacade;
21 import org.andromda.metafacades.uml.StereotypeFacade;
22 import org.andromda.metafacades.uml.TaggedValueFacade;
23 import org.andromda.metafacades.uml.TemplateParameterFacade;
24 import org.andromda.metafacades.uml.TypeMappings;
25
26 /**
27 * TODO: Model Documentation for org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade
28 * MetafacadeLogic for EJB3SessionAttributeFacade
29 *
30 * @see EJB3SessionAttributeFacade
31 */
32 public abstract class EJB3SessionAttributeFacadeLogic
33 extends MetafacadeBase
34 implements EJB3SessionAttributeFacade
35 {
36 /**
37 * The underlying UML object
38 * @see Object
39 */
40 protected Object metaObject;
41
42 /** Create Metafacade implementation instance using the MetafacadeFactory from the context
43 * @param metaObjectIn
44 * @param context
45 */
46 protected EJB3SessionAttributeFacadeLogic(Object metaObjectIn, String context)
47 {
48 super(metaObjectIn, getContext(context));
49 this.superAttributeFacade =
50 (AttributeFacade)
51 MetafacadeFactory.getInstance().createFacadeImpl(
52 "org.andromda.metafacades.uml.AttributeFacade",
53 metaObjectIn,
54 getContext(context));
55 this.metaObject = metaObjectIn;
56 }
57
58 /**
59 * Gets the context for this metafacade logic instance.
60 * @param context String. Set to EJB3SessionAttributeFacade if null
61 * @return context String
62 */
63 private static String getContext(String context)
64 {
65 if (context == null)
66 {
67 context = "org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade";
68 }
69 return context;
70 }
71
72 private AttributeFacade superAttributeFacade;
73 private boolean superAttributeFacadeInitialized = false;
74
75 /**
76 * Gets the AttributeFacade parent instance.
77 * @return this.superAttributeFacade AttributeFacade
78 */
79 private AttributeFacade getSuperAttributeFacade()
80 {
81 if (!this.superAttributeFacadeInitialized)
82 {
83 ((MetafacadeBase)this.superAttributeFacade).setMetafacadeContext(this.getMetafacadeContext());
84 this.superAttributeFacadeInitialized = true;
85 }
86 return this.superAttributeFacade;
87 }
88
89 /** Reset context only for non-root metafacades
90 * @param context
91 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context)
92 */
93 @Override
94 public void resetMetafacadeContext(String context)
95 {
96 if (!this.contextRoot) // reset context only for non-root metafacades
97 {
98 context = getContext(context); // to have same value as in original constructor call
99 setMetafacadeContext (context);
100 if (this.superAttributeFacadeInitialized)
101 {
102 ((MetafacadeBase)this.superAttributeFacade).resetMetafacadeContext(context);
103 }
104 }
105 }
106
107 /**
108 * @return boolean true always
109 * @see EJB3SessionAttributeFacade
110 */
111 public boolean isEJB3SessionAttributeFacadeMetaType()
112 {
113 return true;
114 }
115
116 // --------------- attributes ---------------------
117
118 /**
119 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getTransactionType()
120 * @return String
121 */
122 protected abstract String handleGetTransactionType();
123
124 private String __transactionType1a;
125 private boolean __transactionType1aSet = false;
126
127 /**
128 * Gets the transaction type for this attribute (i.e. REQUIRED, etc)
129 * @return (String)handleGetTransactionType()
130 */
131 public final String getTransactionType()
132 {
133 String transactionType1a = this.__transactionType1a;
134 if (!this.__transactionType1aSet)
135 {
136 // transactionType has no pre constraints
137 transactionType1a = handleGetTransactionType();
138 // transactionType has no post constraints
139 this.__transactionType1a = transactionType1a;
140 if (isMetafacadePropertyCachingEnabled())
141 {
142 this.__transactionType1aSet = true;
143 }
144 }
145 return transactionType1a;
146 }
147
148 /**
149 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamBijectionIn()
150 * @return boolean
151 */
152 protected abstract boolean handleIsSeamBijectionIn();
153
154 private boolean __seamBijectionIn2a;
155 private boolean __seamBijectionIn2aSet = false;
156
157 /**
158 * Returns true the attribute is modelled with the <<In>> stereotype indicating that it is a
159 * Seam component attribute and is to be injected from a context variable at the start of each
160 * component invocation.
161 * @return (boolean)handleIsSeamBijectionIn()
162 */
163 public final boolean isSeamBijectionIn()
164 {
165 boolean seamBijectionIn2a = this.__seamBijectionIn2a;
166 if (!this.__seamBijectionIn2aSet)
167 {
168 // seamBijectionIn has no pre constraints
169 seamBijectionIn2a = handleIsSeamBijectionIn();
170 // seamBijectionIn has no post constraints
171 this.__seamBijectionIn2a = seamBijectionIn2a;
172 if (isMetafacadePropertyCachingEnabled())
173 {
174 this.__seamBijectionIn2aSet = true;
175 }
176 }
177 return seamBijectionIn2a;
178 }
179
180 /**
181 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamBijectionOut()
182 * @return boolean
183 */
184 protected abstract boolean handleIsSeamBijectionOut();
185
186 private boolean __seamBijectionOut3a;
187 private boolean __seamBijectionOut3aSet = false;
188
189 /**
190 * Returns true if the attribute is modelled with the <<Out>> stereotype indicating that it is a
191 * Seam component attribute and is to be outjected to a context variable at the end of each
192 * component invocation.
193 * @return (boolean)handleIsSeamBijectionOut()
194 */
195 public final boolean isSeamBijectionOut()
196 {
197 boolean seamBijectionOut3a = this.__seamBijectionOut3a;
198 if (!this.__seamBijectionOut3aSet)
199 {
200 // seamBijectionOut has no pre constraints
201 seamBijectionOut3a = handleIsSeamBijectionOut();
202 // seamBijectionOut has no post constraints
203 this.__seamBijectionOut3a = seamBijectionOut3a;
204 if (isMetafacadePropertyCachingEnabled())
205 {
206 this.__seamBijectionOut3aSet = true;
207 }
208 }
209 return seamBijectionOut3a;
210 }
211
212 /**
213 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamValidationValid()
214 * @return boolean
215 */
216 protected abstract boolean handleIsSeamValidationValid();
217
218 private boolean __seamValidationValid4a;
219 private boolean __seamValidationValid4aSet = false;
220
221 /**
222 * Returns true if the <<Valid>> stereotype is modelled on seam component bean attribute to
223 * Indicates that the hibernate Validator recursively validate this and related objects when an
224 * action listener Seam component method with IfInvalid annotation is invoked.
225 * @return (boolean)handleIsSeamValidationValid()
226 */
227 public final boolean isSeamValidationValid()
228 {
229 boolean seamValidationValid4a = this.__seamValidationValid4a;
230 if (!this.__seamValidationValid4aSet)
231 {
232 // seamValidationValid has no pre constraints
233 seamValidationValid4a = handleIsSeamValidationValid();
234 // seamValidationValid has no post constraints
235 this.__seamValidationValid4a = seamValidationValid4a;
236 if (isMetafacadePropertyCachingEnabled())
237 {
238 this.__seamValidationValid4aSet = true;
239 }
240 }
241 return seamValidationValid4a;
242 }
243
244 /**
245 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamDataModel()
246 * @return boolean
247 */
248 protected abstract boolean handleIsSeamDataModel();
249
250 private boolean __seamDataModel5a;
251 private boolean __seamDataModel5aSet = false;
252
253 /**
254 * Returns true if the attribute of type List, Map, Set or Object[] is modelled with the
255 * <<DataModel>> stereotype indicating that it shall be exposed as a JSF DataModel into the
256 * scope of the owning component (or the EVENT scope if the owning component is STATELESS). In
257 * the case of Map, each row of the DataModel is a Map.Entry.
258 * @return (boolean)handleIsSeamDataModel()
259 */
260 public final boolean isSeamDataModel()
261 {
262 boolean seamDataModel5a = this.__seamDataModel5a;
263 if (!this.__seamDataModel5aSet)
264 {
265 // seamDataModel has no pre constraints
266 seamDataModel5a = handleIsSeamDataModel();
267 // seamDataModel has no post constraints
268 this.__seamDataModel5a = seamDataModel5a;
269 if (isMetafacadePropertyCachingEnabled())
270 {
271 this.__seamDataModel5aSet = true;
272 }
273 }
274 return seamDataModel5a;
275 }
276
277 /**
278 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamDataModelSelection()
279 * @return boolean
280 */
281 protected abstract boolean handleIsSeamDataModelSelection();
282
283 private boolean __seamDataModelSelection6a;
284 private boolean __seamDataModelSelection6aSet = false;
285
286 /**
287 * Returns true if stereotype <<DataModelSelection>> is set. Injects the selected value from the
288 * JSF DataModel (this is the element of the underlying collection, or the map value).
289 * @return (boolean)handleIsSeamDataModelSelection()
290 */
291 public final boolean isSeamDataModelSelection()
292 {
293 boolean seamDataModelSelection6a = this.__seamDataModelSelection6a;
294 if (!this.__seamDataModelSelection6aSet)
295 {
296 // seamDataModelSelection has no pre constraints
297 seamDataModelSelection6a = handleIsSeamDataModelSelection();
298 // seamDataModelSelection has no post constraints
299 this.__seamDataModelSelection6a = seamDataModelSelection6a;
300 if (isMetafacadePropertyCachingEnabled())
301 {
302 this.__seamDataModelSelection6aSet = true;
303 }
304 }
305 return seamDataModelSelection6a;
306 }
307
308 /**
309 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamDataModelSelectionIndex()
310 * @return boolean
311 */
312 protected abstract boolean handleIsSeamDataModelSelectionIndex();
313
314 private boolean __seamDataModelSelectionIndex7a;
315 private boolean __seamDataModelSelectionIndex7aSet = false;
316
317 /**
318 * Returns true if stereotype <<DataModelSelectionIndex>> is set. Exposes the selection index of
319 * the JSF DataModel as an attribute of the component (this is the row number of the underlying
320 * collection, or the map key).
321 * @return (boolean)handleIsSeamDataModelSelectionIndex()
322 */
323 public final boolean isSeamDataModelSelectionIndex()
324 {
325 boolean seamDataModelSelectionIndex7a = this.__seamDataModelSelectionIndex7a;
326 if (!this.__seamDataModelSelectionIndex7aSet)
327 {
328 // seamDataModelSelectionIndex has no pre constraints
329 seamDataModelSelectionIndex7a = handleIsSeamDataModelSelectionIndex();
330 // seamDataModelSelectionIndex has no post constraints
331 this.__seamDataModelSelectionIndex7a = seamDataModelSelectionIndex7a;
332 if (isMetafacadePropertyCachingEnabled())
333 {
334 this.__seamDataModelSelectionIndex7aSet = true;
335 }
336 }
337 return seamDataModelSelectionIndex7a;
338 }
339
340 /**
341 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamBijectionLogger()
342 * @return boolean
343 */
344 protected abstract boolean handleIsSeamBijectionLogger();
345
346 private boolean __seamBijectionLogger8a;
347 private boolean __seamBijectionLogger8aSet = false;
348
349 /**
350 * Returns true if stereotype <<Logger>> is set. Specifies that a component field is to be
351 * injected with an instance of org.jboss.seam.log.Log.
352 * @return (boolean)handleIsSeamBijectionLogger()
353 */
354 public final boolean isSeamBijectionLogger()
355 {
356 boolean seamBijectionLogger8a = this.__seamBijectionLogger8a;
357 if (!this.__seamBijectionLogger8aSet)
358 {
359 // seamBijectionLogger has no pre constraints
360 seamBijectionLogger8a = handleIsSeamBijectionLogger();
361 // seamBijectionLogger has no post constraints
362 this.__seamBijectionLogger8a = seamBijectionLogger8a;
363 if (isMetafacadePropertyCachingEnabled())
364 {
365 this.__seamBijectionLogger8aSet = true;
366 }
367 }
368 return seamBijectionLogger8a;
369 }
370
371 /**
372 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamBijectionRequestParameter()
373 * @return boolean
374 */
375 protected abstract boolean handleIsSeamBijectionRequestParameter();
376
377 private boolean __seamBijectionRequestParameter9a;
378 private boolean __seamBijectionRequestParameter9aSet = false;
379
380 /**
381 * Returns true if stereotype <<RequestParameter>> is set. Specifies that a component attribute
382 * is to be injected with the value of a request parameter. Basic type conversions are performed
383 * automatically.
384 * @return (boolean)handleIsSeamBijectionRequestParameter()
385 */
386 public final boolean isSeamBijectionRequestParameter()
387 {
388 boolean seamBijectionRequestParameter9a = this.__seamBijectionRequestParameter9a;
389 if (!this.__seamBijectionRequestParameter9aSet)
390 {
391 // seamBijectionRequestParameter has no pre constraints
392 seamBijectionRequestParameter9a = handleIsSeamBijectionRequestParameter();
393 // seamBijectionRequestParameter has no post constraints
394 this.__seamBijectionRequestParameter9a = seamBijectionRequestParameter9a;
395 if (isMetafacadePropertyCachingEnabled())
396 {
397 this.__seamBijectionRequestParameter9aSet = true;
398 }
399 }
400 return seamBijectionRequestParameter9a;
401 }
402
403 /**
404 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamBijectionInParameters()
405 * @return String
406 */
407 protected abstract String handleGetSeamBijectionInParameters();
408
409 private String __seamBijectionInParameters10a;
410 private boolean __seamBijectionInParameters10aSet = false;
411
412 /**
413 * Returns a parameter string for org.jboss.seam.annotations.In annotation. Supported
414 * parameters:
415 * * value — specifies the name of the context variable. Default to the name of the component
416 * attribute. Alternatively, specifies a JSF EL expression, surrounded by #{...}.
417 * * create — specifies that Seam should instantiate the component with the same name as the
418 * context variable if the context variable is undefined (null) in all contexts. Default to
419 * false.
420 * * required — specifies Seam should throw an exception if the context variable is undefined in
421 * all contexts.
422 * @return (String)handleGetSeamBijectionInParameters()
423 */
424 public final String getSeamBijectionInParameters()
425 {
426 String seamBijectionInParameters10a = this.__seamBijectionInParameters10a;
427 if (!this.__seamBijectionInParameters10aSet)
428 {
429 // seamBijectionInParameters has no pre constraints
430 seamBijectionInParameters10a = handleGetSeamBijectionInParameters();
431 // seamBijectionInParameters has no post constraints
432 this.__seamBijectionInParameters10a = seamBijectionInParameters10a;
433 if (isMetafacadePropertyCachingEnabled())
434 {
435 this.__seamBijectionInParameters10aSet = true;
436 }
437 }
438 return seamBijectionInParameters10a;
439 }
440
441 /**
442 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamBijectionLoggerParameters()
443 * @return String
444 */
445 protected abstract String handleGetSeamBijectionLoggerParameters();
446
447 private String __seamBijectionLoggerParameters11a;
448 private boolean __seamBijectionLoggerParameters11aSet = false;
449
450 /**
451 * Returns a parameter string for org.jboss.seam.annotations.Logger annotation. Supported
452 * parameters:
453 * value — specifies the name of the log category. Default to the name of the component class.
454 * @return (String)handleGetSeamBijectionLoggerParameters()
455 */
456 public final String getSeamBijectionLoggerParameters()
457 {
458 String seamBijectionLoggerParameters11a = this.__seamBijectionLoggerParameters11a;
459 if (!this.__seamBijectionLoggerParameters11aSet)
460 {
461 // seamBijectionLoggerParameters has no pre constraints
462 seamBijectionLoggerParameters11a = handleGetSeamBijectionLoggerParameters();
463 // seamBijectionLoggerParameters has no post constraints
464 this.__seamBijectionLoggerParameters11a = seamBijectionLoggerParameters11a;
465 if (isMetafacadePropertyCachingEnabled())
466 {
467 this.__seamBijectionLoggerParameters11aSet = true;
468 }
469 }
470 return seamBijectionLoggerParameters11a;
471 }
472
473 /**
474 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamBijectionOutParameters()
475 * @return String
476 */
477 protected abstract String handleGetSeamBijectionOutParameters();
478
479 private String __seamBijectionOutParameters12a;
480 private boolean __seamBijectionOutParameters12aSet = false;
481
482 /**
483 * Returns a parameter string for org.jboss.seam.annotations.Out annotation. Supported
484 * parameters:
485 * * value — specifies the name of the context variable. Default to the name of the component
486 * attribute.
487 * * required — specifies Seam should throw an exception if the component attribute is null
488 * during outjection.
489 * * scope — specifies the scope that Seam should bind the returned value to.
490 * @return (String)handleGetSeamBijectionOutParameters()
491 */
492 public final String getSeamBijectionOutParameters()
493 {
494 String seamBijectionOutParameters12a = this.__seamBijectionOutParameters12a;
495 if (!this.__seamBijectionOutParameters12aSet)
496 {
497 // seamBijectionOutParameters has no pre constraints
498 seamBijectionOutParameters12a = handleGetSeamBijectionOutParameters();
499 // seamBijectionOutParameters has no post constraints
500 this.__seamBijectionOutParameters12a = seamBijectionOutParameters12a;
501 if (isMetafacadePropertyCachingEnabled())
502 {
503 this.__seamBijectionOutParameters12aSet = true;
504 }
505 }
506 return seamBijectionOutParameters12a;
507 }
508
509 /**
510 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamBijectionRequestParameterParameters()
511 * @return String
512 */
513 protected abstract String handleGetSeamBijectionRequestParameterParameters();
514
515 private String __seamBijectionRequestParameterParameters13a;
516 private boolean __seamBijectionRequestParameterParameters13aSet = false;
517
518 /**
519 * Returns a parameter string for org.jboss.seam.annotations.RequestParameter annotation.
520 * Supported parameters:
521 * * value — specifies the name of the request parameter. Default to the name of the component
522 * attribute.
523 * @return (String)handleGetSeamBijectionRequestParameterParameters()
524 */
525 public final String getSeamBijectionRequestParameterParameters()
526 {
527 String seamBijectionRequestParameterParameters13a = this.__seamBijectionRequestParameterParameters13a;
528 if (!this.__seamBijectionRequestParameterParameters13aSet)
529 {
530 // seamBijectionRequestParameterParameters has no pre constraints
531 seamBijectionRequestParameterParameters13a = handleGetSeamBijectionRequestParameterParameters();
532 // seamBijectionRequestParameterParameters has no post constraints
533 this.__seamBijectionRequestParameterParameters13a = seamBijectionRequestParameterParameters13a;
534 if (isMetafacadePropertyCachingEnabled())
535 {
536 this.__seamBijectionRequestParameterParameters13aSet = true;
537 }
538 }
539 return seamBijectionRequestParameterParameters13a;
540 }
541
542 /**
543 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamDataModelParameters()
544 * @return String
545 */
546 protected abstract String handleGetSeamDataModelParameters();
547
548 private String __seamDataModelParameters14a;
549 private boolean __seamDataModelParameters14aSet = false;
550
551 /**
552 * Returns a parameter string for org.jboss.seam.annotations.DataModel annotation. Supported
553 * parameters:
554 * * value — name of the conversation context variable. Default to the attribute name.
555 * * scope — if scope=ScopeType.PAGE is explicitly specified, the DataModel will be kept in the
556 * PAGE context.
557 * @return (String)handleGetSeamDataModelParameters()
558 */
559 public final String getSeamDataModelParameters()
560 {
561 String seamDataModelParameters14a = this.__seamDataModelParameters14a;
562 if (!this.__seamDataModelParameters14aSet)
563 {
564 // seamDataModelParameters has no pre constraints
565 seamDataModelParameters14a = handleGetSeamDataModelParameters();
566 // seamDataModelParameters has no post constraints
567 this.__seamDataModelParameters14a = seamDataModelParameters14a;
568 if (isMetafacadePropertyCachingEnabled())
569 {
570 this.__seamDataModelParameters14aSet = true;
571 }
572 }
573 return seamDataModelParameters14a;
574 }
575
576 /**
577 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamDataModelSelectionParameters()
578 * @return String
579 */
580 protected abstract String handleGetSeamDataModelSelectionParameters();
581
582 private String __seamDataModelSelectionParameters15a;
583 private boolean __seamDataModelSelectionParameters15aSet = false;
584
585 /**
586 * Returns a parameter string for org.jboss.seam.annotations.DataModelSelection annotation.
587 * Supported parameters:
588 * * value — name of the conversation context variable. Not needed if there is exactly one
589 * DataModel in the component.
590 * @return (String)handleGetSeamDataModelSelectionParameters()
591 */
592 public final String getSeamDataModelSelectionParameters()
593 {
594 String seamDataModelSelectionParameters15a = this.__seamDataModelSelectionParameters15a;
595 if (!this.__seamDataModelSelectionParameters15aSet)
596 {
597 // seamDataModelSelectionParameters has no pre constraints
598 seamDataModelSelectionParameters15a = handleGetSeamDataModelSelectionParameters();
599 // seamDataModelSelectionParameters has no post constraints
600 this.__seamDataModelSelectionParameters15a = seamDataModelSelectionParameters15a;
601 if (isMetafacadePropertyCachingEnabled())
602 {
603 this.__seamDataModelSelectionParameters15aSet = true;
604 }
605 }
606 return seamDataModelSelectionParameters15a;
607 }
608
609 /**
610 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#getSeamDataModelSelectionIndexParameters()
611 * @return String
612 */
613 protected abstract String handleGetSeamDataModelSelectionIndexParameters();
614
615 private String __seamDataModelSelectionIndexParameters16a;
616 private boolean __seamDataModelSelectionIndexParameters16aSet = false;
617
618 /**
619 * Returns a parameter string for org.jboss.seam.annotations.DataModelSelection annotation.
620 * Supported parameters:
621 * * value — name of the conversation context variable. Not needed if there is exactly one
622 * DataModel in the component.
623 * @return (String)handleGetSeamDataModelSelectionIndexParameters()
624 */
625 public final String getSeamDataModelSelectionIndexParameters()
626 {
627 String seamDataModelSelectionIndexParameters16a = this.__seamDataModelSelectionIndexParameters16a;
628 if (!this.__seamDataModelSelectionIndexParameters16aSet)
629 {
630 // seamDataModelSelectionIndexParameters has no pre constraints
631 seamDataModelSelectionIndexParameters16a = handleGetSeamDataModelSelectionIndexParameters();
632 // seamDataModelSelectionIndexParameters has no post constraints
633 this.__seamDataModelSelectionIndexParameters16a = seamDataModelSelectionIndexParameters16a;
634 if (isMetafacadePropertyCachingEnabled())
635 {
636 this.__seamDataModelSelectionIndexParameters16aSet = true;
637 }
638 }
639 return seamDataModelSelectionIndexParameters16a;
640 }
641
642 /**
643 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionAttributeFacade#isSeamAttribute()
644 * @return boolean
645 */
646 protected abstract boolean handleIsSeamAttribute();
647
648 private boolean __seamAttribute17a;
649 private boolean __seamAttribute17aSet = false;
650
651 /**
652 * Returns true if this attribute is a seam component attribute, marked with one or more of the
653 * following annotations In, Out, Log, RequestParameter, DataModel, DatamodeSelection
654 * @return (boolean)handleIsSeamAttribute()
655 */
656 public final boolean isSeamAttribute()
657 {
658 boolean seamAttribute17a = this.__seamAttribute17a;
659 if (!this.__seamAttribute17aSet)
660 {
661 // seamAttribute has no pre constraints
662 seamAttribute17a = handleIsSeamAttribute();
663 // seamAttribute has no post constraints
664 this.__seamAttribute17a = seamAttribute17a;
665 if (isMetafacadePropertyCachingEnabled())
666 {
667 this.__seamAttribute17aSet = true;
668 }
669 }
670 return seamAttribute17a;
671 }
672
673 /**
674 * @return true
675 * @see AttributeFacade
676 */
677 public boolean isAttributeFacadeMetaType()
678 {
679 return true;
680 }
681
682 /**
683 * @return true
684 * @see ModelElementFacade
685 */
686 public boolean isModelElementFacadeMetaType()
687 {
688 return true;
689 }
690
691 // ----------- delegates to AttributeFacade ------------
692 /**
693 * Searches the given feature for the specified tag.
694 * If the follow boolean is set to true then the search will continue from the class attribute
695 * to the class itself and then up the class hierarchy.
696 * @see AttributeFacade#findTaggedValue(String name, boolean follow)
697 */
698 public Object findTaggedValue(String name, boolean follow)
699 {
700 return this.getSuperAttributeFacade().findTaggedValue(name, follow);
701 }
702
703 /**
704 * The default value of the attribute. This is the value given if no value is defined.
705 * @see AttributeFacade#getDefaultValue()
706 */
707 public String getDefaultValue()
708 {
709 return this.getSuperAttributeFacade().getDefaultValue();
710 }
711
712 /**
713 * If the attribute is an enumeration literal this represents the owning enumeration. Can be
714 * empty.
715 * @see AttributeFacade#getEnumeration()
716 */
717 public EnumerationFacade getEnumeration()
718 {
719 return this.getSuperAttributeFacade().getEnumeration();
720 }
721
722 /**
723 * Returns the enumeration literal parameters defined by tagged value as a comma separated list.
724 * @see AttributeFacade#getEnumerationLiteralParameters()
725 */
726 public String getEnumerationLiteralParameters()
727 {
728 return this.getSuperAttributeFacade().getEnumerationLiteralParameters();
729 }
730
731 /**
732 * The value for this attribute if it is an enumeration literal, null otherwise. The default
733 * value is returned as a String if it has been specified, if it's not specified this
734 * attribute's name is assumed.
735 * @see AttributeFacade#getEnumerationValue()
736 */
737 public String getEnumerationValue()
738 {
739 return this.getSuperAttributeFacade().getEnumerationValue();
740 }
741
742 /**
743 * The name of the accessor operation that would retrieve this attribute's value.
744 * @see AttributeFacade#getGetterName()
745 */
746 public String getGetterName()
747 {
748 return this.getSuperAttributeFacade().getGetterName();
749 }
750
751 /**
752 * The name of the type that is returned on the accessor and mutator operations, determined in
753 * part by the multiplicity.
754 * @see AttributeFacade#getGetterSetterTypeName()
755 */
756 public String getGetterSetterTypeName()
757 {
758 return this.getSuperAttributeFacade().getGetterSetterTypeName();
759 }
760
761 /**
762 * the lower value for the multiplicity
763 * -only applicable for UML2
764 * @see AttributeFacade#getLower()
765 */
766 public int getLower()
767 {
768 return this.getSuperAttributeFacade().getLower();
769 }
770
771 /**
772 * Gets the classifier who is the owner of the attributes.
773 * @see AttributeFacade#getOwner()
774 */
775 public ClassifierFacade getOwner()
776 {
777 return this.getSuperAttributeFacade().getOwner();
778 }
779
780 /**
781 * The name of the mutator operation that would retrieve this attribute's value.
782 * @see AttributeFacade#getSetterName()
783 */
784 public String getSetterName()
785 {
786 return this.getSuperAttributeFacade().getSetterName();
787 }
788
789 /**
790 * The classifier owning this attribute.
791 * @see AttributeFacade#getType()
792 */
793 public ClassifierFacade getType()
794 {
795 return this.getSuperAttributeFacade().getType();
796 }
797
798 /**
799 * the upper value for the multiplicity (will be -1 for *)
800 * -only applicable for UML2
801 * @see AttributeFacade#getUpper()
802 */
803 public int getUpper()
804 {
805 return this.getSuperAttributeFacade().getUpper();
806 }
807
808 /**
809 * True if this attribute can only be set.
810 * @see AttributeFacade#isAddOnly()
811 */
812 public boolean isAddOnly()
813 {
814 return this.getSuperAttributeFacade().isAddOnly();
815 }
816
817 /**
818 * True if this attribute can be modified.
819 * @see AttributeFacade#isChangeable()
820 */
821 public boolean isChangeable()
822 {
823 return this.getSuperAttributeFacade().isChangeable();
824 }
825
826 /**
827 * Indicates if the default value is present.
828 * @see AttributeFacade#isDefaultValuePresent()
829 */
830 public boolean isDefaultValuePresent()
831 {
832 return this.getSuperAttributeFacade().isDefaultValuePresent();
833 }
834
835 /**
836 * If the attribute is derived (its value is computed). UML2 only. UML14 always returns false.
837 * Default=false.
838 * @see AttributeFacade#isDerived()
839 */
840 public boolean isDerived()
841 {
842 return this.getSuperAttributeFacade().isDerived();
843 }
844
845 /**
846 * True if this attribute is owned by an enumeration.
847 * @see AttributeFacade#isEnumerationLiteral()
848 */
849 public boolean isEnumerationLiteral()
850 {
851 return this.getSuperAttributeFacade().isEnumerationLiteral();
852 }
853
854 /**
855 * Returns true if enumeration literal parameters exist (defined by tagged value) for the
856 * literal.
857 * @see AttributeFacade#isEnumerationLiteralParametersExist()
858 */
859 public boolean isEnumerationLiteralParametersExist()
860 {
861 return this.getSuperAttributeFacade().isEnumerationLiteralParametersExist();
862 }
863
864 /**
865 * True if this attribute is owned by an enumeration but is defined as a member variable (NOT a
866 * literal).
867 * @see AttributeFacade#isEnumerationMember()
868 */
869 public boolean isEnumerationMember()
870 {
871 return this.getSuperAttributeFacade().isEnumerationMember();
872 }
873
874 /**
875 * IsLeaf property in the operation. If true, operation is final, cannot be extended or
876 * implemented by a descendant.
877 * @see AttributeFacade#isLeaf()
878 */
879 public boolean isLeaf()
880 {
881 return this.getSuperAttributeFacade().isLeaf();
882 }
883
884 /**
885 * Whether or not this attribute has a multiplicity greater than 1.
886 * @see AttributeFacade#isMany()
887 */
888 public boolean isMany()
889 {
890 return this.getSuperAttributeFacade().isMany();
891 }
892
893 /**
894 * Indicates whether or not the attributes are ordered (if multiplicity is greater than 1).
895 * @see AttributeFacade#isOrdered()
896 */
897 public boolean isOrdered()
898 {
899 return this.getSuperAttributeFacade().isOrdered();
900 }
901
902 /**
903 * Whether or not this attribute can be modified.
904 * @see AttributeFacade#isReadOnly()
905 */
906 public boolean isReadOnly()
907 {
908 return this.getSuperAttributeFacade().isReadOnly();
909 }
910
911 /**
912 * Whether or not the multiplicity of this attribute is 1.
913 * @see AttributeFacade#isRequired()
914 */
915 public boolean isRequired()
916 {
917 return this.getSuperAttributeFacade().isRequired();
918 }
919
920 /**
921 * Indicates if this attribute is 'static', meaning it has a classifier scope.
922 * @see AttributeFacade#isStatic()
923 */
924 public boolean isStatic()
925 {
926 return this.getSuperAttributeFacade().isStatic();
927 }
928
929 /**
930 * If the attribute is unique within the Collection type. UML2 only. UML14 always returns false.
931 * Unique+Ordered determines the implementation Collection type. Default=false.
932 * @see AttributeFacade#isUnique()
933 */
934 public boolean isUnique()
935 {
936 return this.getSuperAttributeFacade().isUnique();
937 }
938
939 /**
940 * Copies all tagged values from the given ModelElementFacade to this model element facade.
941 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
942 */
943 public void copyTaggedValues(ModelElementFacade element)
944 {
945 this.getSuperAttributeFacade().copyTaggedValues(element);
946 }
947
948 /**
949 * Finds the tagged value with the specified 'tagName'. In case there are more values the first
950 * one found will be returned.
951 * @see ModelElementFacade#findTaggedValue(String tagName)
952 */
953 public Object findTaggedValue(String tagName)
954 {
955 return this.getSuperAttributeFacade().findTaggedValue(tagName);
956 }
957
958 /**
959 * Returns all the values for the tagged value with the specified name. The returned collection
960 * will contains only String instances, or will be empty. Never null.
961 * @see ModelElementFacade#findTaggedValues(String tagName)
962 */
963 public Collection<Object> findTaggedValues(String tagName)
964 {
965 return this.getSuperAttributeFacade().findTaggedValues(tagName);
966 }
967
968 /**
969 * Returns the fully qualified name of the model element. The fully qualified name includes
970 * complete package qualified name of the underlying model element. The templates parameter will
971 * be replaced by the correct one given the binding relation of the parameter to this element.
972 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
973 */
974 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
975 {
976 return this.getSuperAttributeFacade().getBindedFullyQualifiedName(bindedElement);
977 }
978
979 /**
980 * Gets all constraints belonging to the model element.
981 * @see ModelElementFacade#getConstraints()
982 */
983 public Collection<ConstraintFacade> getConstraints()
984 {
985 return this.getSuperAttributeFacade().getConstraints();
986 }
987
988 /**
989 * Returns the constraints of the argument kind that have been placed onto this model. Typical
990 * kinds are "inv", "pre" and "post". Other kinds are possible.
991 * @see ModelElementFacade#getConstraints(String kind)
992 */
993 public Collection<ConstraintFacade> getConstraints(String kind)
994 {
995 return this.getSuperAttributeFacade().getConstraints(kind);
996 }
997
998 /**
999 * Gets the documentation for the model element, The indent argument is prefixed to each line.
1000 * By default this method wraps lines after 64 characters.
1001 * This method is equivalent to <code>getDocumentation(indent, 64)</code>.
1002 * @see ModelElementFacade#getDocumentation(String indent)
1003 */
1004 public String getDocumentation(String indent)
1005 {
1006 return this.getSuperAttributeFacade().getDocumentation(indent);
1007 }
1008
1009 /**
1010 * This method returns the documentation for this model element, with the lines wrapped after
1011 * the specified number of characters, values of less than 1 will indicate no line wrapping is
1012 * required. By default paragraphs are returned as HTML.
1013 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
1014 * @see ModelElementFacade#getDocumentation(String indent, int lineLength)
1015 */
1016 public String getDocumentation(String indent, int lineLength)
1017 {
1018 return this.getSuperAttributeFacade().getDocumentation(indent, lineLength);
1019 }
1020
1021 /**
1022 * This method returns the documentation for this model element, with the lines wrapped after
1023 * the specified number of characters, values of less than 1 will indicate no line wrapping is
1024 * required. HTML style determines if HTML Escaping is applied.
1025 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
1026 */
1027 public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
1028 {
1029 return this.getSuperAttributeFacade().getDocumentation(indent, lineLength, htmlStyle);
1030 }
1031
1032 /**
1033 * The fully qualified name of this model element.
1034 * @see ModelElementFacade#getFullyQualifiedName()
1035 */
1036 public String getFullyQualifiedName()
1037 {
1038 return this.getSuperAttributeFacade().getFullyQualifiedName();
1039 }
1040
1041 /**
1042 * Returns the fully qualified name of the model element. The fully qualified name includes
1043 * complete package qualified name of the underlying model element. If modelName is true, then
1044 * the original name of the model element (the name contained within the model) will be the name
1045 * returned, otherwise a name from a language mapping will be returned.
1046 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
1047 */
1048 public String getFullyQualifiedName(boolean modelName)
1049 {
1050 return this.getSuperAttributeFacade().getFullyQualifiedName(modelName);
1051 }
1052
1053 /**
1054 * Returns the fully qualified name as a path, the returned value always starts with out a slash
1055 * '/'.
1056 * @see ModelElementFacade#getFullyQualifiedNamePath()
1057 */
1058 public String getFullyQualifiedNamePath()
1059 {
1060 return this.getSuperAttributeFacade().getFullyQualifiedNamePath();
1061 }
1062
1063 /**
1064 * Gets the unique identifier of the underlying model element.
1065 * @see ModelElementFacade#getId()
1066 */
1067 public String getId()
1068 {
1069 return this.getSuperAttributeFacade().getId();
1070 }
1071
1072 /**
1073 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which
1074 * are not represented by other properties, i.e. native, transient, volatile, synchronized,
1075 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
1076 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
1077 * JDK5 compiler level.
1078 * @see ModelElementFacade#getKeywords()
1079 */
1080 public Collection<String> getKeywords()
1081 {
1082 return this.getSuperAttributeFacade().getKeywords();
1083 }
1084
1085 /**
1086 * UML2: Retrieves a localized label for this named element.
1087 * @see ModelElementFacade#getLabel()
1088 */
1089 public String getLabel()
1090 {
1091 return this.getSuperAttributeFacade().getLabel();
1092 }
1093
1094 /**
1095 * The language mappings that have been set for this model element.
1096 * @see ModelElementFacade#getLanguageMappings()
1097 */
1098 public TypeMappings getLanguageMappings()
1099 {
1100 return this.getSuperAttributeFacade().getLanguageMappings();
1101 }
1102
1103 /**
1104 * Return the model containing this model element (multiple models may be loaded and processed
1105 * at the same time).
1106 * @see ModelElementFacade#getModel()
1107 */
1108 public ModelFacade getModel()
1109 {
1110 return this.getSuperAttributeFacade().getModel();
1111 }
1112
1113 /**
1114 * The name of the model element.
1115 * @see ModelElementFacade#getName()
1116 */
1117 public String getName()
1118 {
1119 return this.getSuperAttributeFacade().getName();
1120 }
1121
1122 /**
1123 * Gets the package to which this model element belongs.
1124 * @see ModelElementFacade#getPackage()
1125 */
1126 public ModelElementFacade getPackage()
1127 {
1128 return this.getSuperAttributeFacade().getPackage();
1129 }
1130
1131 /**
1132 * The name of this model element's package.
1133 * @see ModelElementFacade#getPackageName()
1134 */
1135 public String getPackageName()
1136 {
1137 return this.getSuperAttributeFacade().getPackageName();
1138 }
1139
1140 /**
1141 * Gets the package name (optionally providing the ability to retrieve the model name and not
1142 * the mapped name).
1143 * @see ModelElementFacade#getPackageName(boolean modelName)
1144 */
1145 public String getPackageName(boolean modelName)
1146 {
1147 return this.getSuperAttributeFacade().getPackageName(modelName);
1148 }
1149
1150 /**
1151 * Returns the package as a path, the returned value always starts with out a slash '/'.
1152 * @see ModelElementFacade#getPackagePath()
1153 */
1154 public String getPackagePath()
1155 {
1156 return this.getSuperAttributeFacade().getPackagePath();
1157 }
1158
1159 /**
1160 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
1161 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
1162 * the names of the containing namespaces starting at the root of the hierarchy and ending with
1163 * the name of the NamedElement itself.
1164 * @see ModelElementFacade#getQualifiedName()
1165 */
1166 public String getQualifiedName()
1167 {
1168 return this.getSuperAttributeFacade().getQualifiedName();
1169 }
1170
1171 /**
1172 * Gets the root package for the model element.
1173 * @see ModelElementFacade#getRootPackage()
1174 */
1175 public PackageFacade getRootPackage()
1176 {
1177 return this.getSuperAttributeFacade().getRootPackage();
1178 }
1179
1180 /**
1181 * Gets the dependencies for which this model element is the source.
1182 * @see ModelElementFacade#getSourceDependencies()
1183 */
1184 public Collection<DependencyFacade> getSourceDependencies()
1185 {
1186 return this.getSuperAttributeFacade().getSourceDependencies();
1187 }
1188
1189 /**
1190 * If this model element is the context of an activity graph, this represents that activity
1191 * graph.
1192 * @see ModelElementFacade#getStateMachineContext()
1193 */
1194 public StateMachineFacade getStateMachineContext()
1195 {
1196 return this.getSuperAttributeFacade().getStateMachineContext();
1197 }
1198
1199 /**
1200 * The collection of ALL stereotype names for this model element.
1201 * @see ModelElementFacade#getStereotypeNames()
1202 */
1203 public Collection<String> getStereotypeNames()
1204 {
1205 return this.getSuperAttributeFacade().getStereotypeNames();
1206 }
1207
1208 /**
1209 * Gets all stereotypes for this model element.
1210 * @see ModelElementFacade#getStereotypes()
1211 */
1212 public Collection<StereotypeFacade> getStereotypes()
1213 {
1214 return this.getSuperAttributeFacade().getStereotypes();
1215 }
1216
1217 /**
1218 * Return the TaggedValues associated with this model element, under all stereotypes.
1219 * @see ModelElementFacade#getTaggedValues()
1220 */
1221 public Collection<TaggedValueFacade> getTaggedValues()
1222 {
1223 return this.getSuperAttributeFacade().getTaggedValues();
1224 }
1225
1226 /**
1227 * Gets the dependencies for which this model element is the target.
1228 * @see ModelElementFacade#getTargetDependencies()
1229 */
1230 public Collection<DependencyFacade> getTargetDependencies()
1231 {
1232 return this.getSuperAttributeFacade().getTargetDependencies();
1233 }
1234
1235 /**
1236 * Get the template parameter for this model element having the parameterName
1237 * @see ModelElementFacade#getTemplateParameter(String parameterName)
1238 */
1239 public Object getTemplateParameter(String parameterName)
1240 {
1241 return this.getSuperAttributeFacade().getTemplateParameter(parameterName);
1242 }
1243
1244 /**
1245 * Get the template parameters for this model element
1246 * @see ModelElementFacade#getTemplateParameters()
1247 */
1248 public Collection<TemplateParameterFacade> getTemplateParameters()
1249 {
1250 return this.getSuperAttributeFacade().getTemplateParameters();
1251 }
1252
1253 /**
1254 * The visibility (i.e. public, private, protected or package) of the model element, will
1255 * attempt a lookup for these values in the language mappings (if any).
1256 * @see ModelElementFacade#getVisibility()
1257 */
1258 public String getVisibility()
1259 {
1260 return this.getSuperAttributeFacade().getVisibility();
1261 }
1262
1263 /**
1264 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
1265 * is taken into account when searching for the stereotype), false otherwise.
1266 * @see ModelElementFacade#hasExactStereotype(String stereotypeName)
1267 */
1268 public boolean hasExactStereotype(String stereotypeName)
1269 {
1270 return this.getSuperAttributeFacade().hasExactStereotype(stereotypeName);
1271 }
1272
1273 /**
1274 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
1275 * pipe, semicolon, or << >>
1276 * @see ModelElementFacade#hasKeyword(String keywordName)
1277 */
1278 public boolean hasKeyword(String keywordName)
1279 {
1280 return this.getSuperAttributeFacade().hasKeyword(keywordName);
1281 }
1282
1283 /**
1284 * Returns true if the model element has the specified stereotype. If the stereotype itself
1285 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if
1286 * one of the stereotype's ancestors has a matching name this method will return true, false
1287 * otherwise.
1288 * For example, if we have a certain stereotype called <<exception>> and a model element has a
1289 * stereotype called <<applicationException>> which extends <<exception>>, when calling this
1290 * method with 'stereotypeName' defined as 'exception' the method would return true since
1291 * <<applicationException>> inherits from <<exception>>. If you want to check if the model
1292 * element has the exact stereotype, then use the method 'hasExactStereotype' instead.
1293 * @see ModelElementFacade#hasStereotype(String stereotypeName)
1294 */
1295 public boolean hasStereotype(String stereotypeName)
1296 {
1297 return this.getSuperAttributeFacade().hasStereotype(stereotypeName);
1298 }
1299
1300 /**
1301 * True if there are target dependencies from this element that are instances of BindingFacade.
1302 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
1303 * @see ModelElementFacade#isBindingDependenciesPresent()
1304 */
1305 public boolean isBindingDependenciesPresent()
1306 {
1307 return this.getSuperAttributeFacade().isBindingDependenciesPresent();
1308 }
1309
1310 /**
1311 * Indicates if any constraints are present on this model element.
1312 * @see ModelElementFacade#isConstraintsPresent()
1313 */
1314 public boolean isConstraintsPresent()
1315 {
1316 return this.getSuperAttributeFacade().isConstraintsPresent();
1317 }
1318
1319 /**
1320 * Indicates if any documentation is present on this model element.
1321 * @see ModelElementFacade#isDocumentationPresent()
1322 */
1323 public boolean isDocumentationPresent()
1324 {
1325 return this.getSuperAttributeFacade().isDocumentationPresent();
1326 }
1327
1328 /**
1329 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
1330 * @see ModelElementFacade#isReservedWord()
1331 */
1332 public boolean isReservedWord()
1333 {
1334 return this.getSuperAttributeFacade().isReservedWord();
1335 }
1336
1337 /**
1338 * True is there are template parameters on this model element. For UML2, applies to Class,
1339 * Operation, Property, and Parameter.
1340 * @see ModelElementFacade#isTemplateParametersPresent()
1341 */
1342 public boolean isTemplateParametersPresent()
1343 {
1344 return this.getSuperAttributeFacade().isTemplateParametersPresent();
1345 }
1346
1347 /**
1348 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
1349 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on
1350 * Enumerations and Interfaces, optionally applies on other model elements.
1351 * @see ModelElementFacade#isValidIdentifierName()
1352 */
1353 public boolean isValidIdentifierName()
1354 {
1355 return this.getSuperAttributeFacade().isValidIdentifierName();
1356 }
1357
1358 /**
1359 * Searches for the constraint with the specified 'name' on this model element, and if found
1360 * translates it using the specified 'translation' from a translation library discovered by the
1361 * framework.
1362 * @see ModelElementFacade#translateConstraint(String name, String translation)
1363 */
1364 public String translateConstraint(String name, String translation)
1365 {
1366 return this.getSuperAttributeFacade().translateConstraint(name, translation);
1367 }
1368
1369 /**
1370 * Translates all constraints belonging to this model element with the given 'translation'.
1371 * @see ModelElementFacade#translateConstraints(String translation)
1372 */
1373 public String[] translateConstraints(String translation)
1374 {
1375 return this.getSuperAttributeFacade().translateConstraints(translation);
1376 }
1377
1378 /**
1379 * Translates the constraints of the specified 'kind' belonging to this model element.
1380 * @see ModelElementFacade#translateConstraints(String kind, String translation)
1381 */
1382 public String[] translateConstraints(String kind, String translation)
1383 {
1384 return this.getSuperAttributeFacade().translateConstraints(kind, translation);
1385 }
1386
1387 /**
1388 * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
1389 */
1390 @Override
1391 public void initialize()
1392 {
1393 this.getSuperAttributeFacade().initialize();
1394 }
1395
1396 /**
1397 * @return Object getSuperAttributeFacade().getValidationOwner()
1398 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
1399 */
1400 @Override
1401 public Object getValidationOwner()
1402 {
1403 Object owner = this.getSuperAttributeFacade().getValidationOwner();
1404 return owner;
1405 }
1406
1407 /**
1408 * @return String getSuperAttributeFacade().getValidationName()
1409 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
1410 */
1411 @Override
1412 public String getValidationName()
1413 {
1414 String name = this.getSuperAttributeFacade().getValidationName();
1415 return name;
1416 }
1417
1418 /**
1419 * @param validationMessages Collection<ModelValidationMessage>
1420 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages)
1421 */
1422 @Override
1423 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
1424 {
1425 this.getSuperAttributeFacade().validateInvariants(validationMessages);
1426 }
1427
1428 /**
1429 * The property that stores the name of the metafacade.
1430 */
1431 private static final String NAME_PROPERTY = "name";
1432 private static final String FQNAME_PROPERTY = "fullyQualifiedName";
1433
1434 /**
1435 * @see Object#toString()
1436 */
1437 @Override
1438 public String toString()
1439 {
1440 final StringBuilder toString = new StringBuilder(this.getClass().getName());
1441 toString.append("[");
1442 try
1443 {
1444 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
1445 }
1446 catch (final Throwable tryAgain)
1447 {
1448 try
1449 {
1450 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
1451 }
1452 catch (final Throwable ignore)
1453 {
1454 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
1455 }
1456 }
1457 toString.append("]");
1458 return toString.toString();
1459 }
1460 }