1 // license-header java merge-point
2 //
3 // Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
4 //
5 package org.andromda.cartridges.jsf2.metafacades;
6
7 import java.util.Collection;
8 import java.util.List;
9 import org.andromda.core.common.Introspector;
10 import org.andromda.core.metafacade.MetafacadeBase;
11 import org.andromda.core.metafacade.MetafacadeFactory;
12 import org.andromda.core.metafacade.ModelValidationMessage;
13 import org.andromda.metafacades.uml.AssociationEndFacade;
14 import org.andromda.metafacades.uml.ClassifierFacade;
15 import org.andromda.metafacades.uml.ConstraintFacade;
16 import org.andromda.metafacades.uml.DependencyFacade;
17 import org.andromda.metafacades.uml.EventFacade;
18 import org.andromda.metafacades.uml.FrontEndAction;
19 import org.andromda.metafacades.uml.FrontEndControllerOperation;
20 import org.andromda.metafacades.uml.FrontEndParameter;
21 import org.andromda.metafacades.uml.FrontEndView;
22 import org.andromda.metafacades.uml.ModelElementFacade;
23 import org.andromda.metafacades.uml.ModelFacade;
24 import org.andromda.metafacades.uml.OperationFacade;
25 import org.andromda.metafacades.uml.PackageFacade;
26 import org.andromda.metafacades.uml.StateMachineFacade;
27 import org.andromda.metafacades.uml.StereotypeFacade;
28 import org.andromda.metafacades.uml.TaggedValueFacade;
29 import org.andromda.metafacades.uml.TemplateParameterFacade;
30 import org.andromda.metafacades.uml.TypeMappings;
31 import org.apache.log4j.Logger;
32
33 /**
34 * Represents a parameter in a JSF front-end.
35 * MetafacadeLogic for JSFParameter
36 *
37 * @see JSFParameter
38 */
39 public abstract class JSFParameterLogic
40 extends MetafacadeBase
41 implements JSFParameter
42 {
43 /**
44 * The underlying UML object
45 * @see Object
46 */
47 protected Object metaObject;
48
49 /** Create Metafacade implementation instance using the MetafacadeFactory from the context
50 * @param metaObjectIn
51 * @param context
52 */
53 protected JSFParameterLogic(Object metaObjectIn, String context)
54 {
55 super(metaObjectIn, getContext(context));
56 this.superFrontEndParameter =
57 (FrontEndParameter)
58 MetafacadeFactory.getInstance().createFacadeImpl(
59 "org.andromda.metafacades.uml.FrontEndParameter",
60 metaObjectIn,
61 getContext(context));
62 this.metaObject = metaObjectIn;
63 }
64
65 /**
66 * The logger instance.
67 */
68 private static final Logger logger = Logger.getLogger(JSFParameterLogic.class);
69
70 /**
71 * Gets the context for this metafacade logic instance.
72 * @param context String. Set to JSFParameter if null
73 * @return context String
74 */
75 private static String getContext(String context)
76 {
77 if (context == null)
78 {
79 context = "org.andromda.cartridges.jsf2.metafacades.JSFParameter";
80 }
81 return context;
82 }
83
84 private FrontEndParameter superFrontEndParameter;
85 private boolean superFrontEndParameterInitialized = false;
86
87 /**
88 * Gets the FrontEndParameter parent instance.
89 * @return this.superFrontEndParameter FrontEndParameter
90 */
91 private FrontEndParameter getSuperFrontEndParameter()
92 {
93 if (!this.superFrontEndParameterInitialized)
94 {
95 ((MetafacadeBase)this.superFrontEndParameter).setMetafacadeContext(this.getMetafacadeContext());
96 this.superFrontEndParameterInitialized = true;
97 }
98 return this.superFrontEndParameter;
99 }
100
101 /** Reset context only for non-root metafacades
102 * @param context
103 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context)
104 */
105 @Override
106 public void resetMetafacadeContext(String context)
107 {
108 if (!this.contextRoot) // reset context only for non-root metafacades
109 {
110 context = getContext(context); // to have same value as in original constructor call
111 setMetafacadeContext (context);
112 if (this.superFrontEndParameterInitialized)
113 {
114 ((MetafacadeBase)this.superFrontEndParameter).resetMetafacadeContext(context);
115 }
116 }
117 }
118
119 /**
120 * @return boolean true always
121 * @see JSFParameter
122 */
123 public boolean isJSFParameterMetaType()
124 {
125 return true;
126 }
127
128 // --------------- attributes ---------------------
129
130 /**
131 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getMessageKey()
132 * @return String
133 */
134 protected abstract String handleGetMessageKey();
135
136 private String __messageKey1a;
137 private boolean __messageKey1aSet = false;
138
139 /**
140 * The default message key for this parameter.
141 * @return (String)handleGetMessageKey()
142 */
143 public final String getMessageKey()
144 {
145 String messageKey1a = this.__messageKey1a;
146 if (!this.__messageKey1aSet)
147 {
148 // messageKey has no pre constraints
149 messageKey1a = handleGetMessageKey();
150 // messageKey has no post constraints
151 this.__messageKey1a = messageKey1a;
152 if (isMetafacadePropertyCachingEnabled())
153 {
154 this.__messageKey1aSet = true;
155 }
156 }
157 return messageKey1a;
158 }
159
160 /**
161 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getMessageValue()
162 * @return String
163 */
164 protected abstract String handleGetMessageValue();
165
166 private String __messageValue2a;
167 private boolean __messageValue2aSet = false;
168
169 /**
170 * The default message value for this parameter.
171 * @return (String)handleGetMessageValue()
172 */
173 public final String getMessageValue()
174 {
175 String messageValue2a = this.__messageValue2a;
176 if (!this.__messageValue2aSet)
177 {
178 // messageValue has no pre constraints
179 messageValue2a = handleGetMessageValue();
180 // messageValue has no post constraints
181 this.__messageValue2a = messageValue2a;
182 if (isMetafacadePropertyCachingEnabled())
183 {
184 this.__messageValue2aSet = true;
185 }
186 }
187 return messageValue2a;
188 }
189
190 /**
191 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getDocumentationKey()
192 * @return String
193 */
194 protected abstract String handleGetDocumentationKey();
195
196 private String __documentationKey3a;
197 private boolean __documentationKey3aSet = false;
198
199 /**
200 * A resource message key suited for the parameter's documentation.
201 * @return (String)handleGetDocumentationKey()
202 */
203 public final String getDocumentationKey()
204 {
205 String documentationKey3a = this.__documentationKey3a;
206 if (!this.__documentationKey3aSet)
207 {
208 // documentationKey has no pre constraints
209 documentationKey3a = handleGetDocumentationKey();
210 // documentationKey has no post constraints
211 this.__documentationKey3a = documentationKey3a;
212 if (isMetafacadePropertyCachingEnabled())
213 {
214 this.__documentationKey3aSet = true;
215 }
216 }
217 return documentationKey3a;
218 }
219
220 /**
221 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getDocumentationValue()
222 * @return String
223 */
224 protected abstract String handleGetDocumentationValue();
225
226 private String __documentationValue4a;
227 private boolean __documentationValue4aSet = false;
228
229 /**
230 * A resource message value suited for the parameter's documentation.
231 * @return (String)handleGetDocumentationValue()
232 */
233 public final String getDocumentationValue()
234 {
235 String documentationValue4a = this.__documentationValue4a;
236 if (!this.__documentationValue4aSet)
237 {
238 // documentationValue has no pre constraints
239 documentationValue4a = handleGetDocumentationValue();
240 // documentationValue has no post constraints
241 this.__documentationValue4a = documentationValue4a;
242 if (isMetafacadePropertyCachingEnabled())
243 {
244 this.__documentationValue4aSet = true;
245 }
246 }
247 return documentationValue4a;
248 }
249
250 /**
251 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getFormat()
252 * @return String
253 */
254 protected abstract String handleGetFormat();
255
256 private String __format5a;
257 private boolean __format5aSet = false;
258
259 /**
260 * If this parameter represents a date or time this method will return the format in which it
261 * must be represented. In the event this format has not been specified by the any tagged value
262 * the default will be used.
263 * @return (String)handleGetFormat()
264 */
265 public final String getFormat()
266 {
267 String format5a = this.__format5a;
268 if (!this.__format5aSet)
269 {
270 // format has no pre constraints
271 format5a = handleGetFormat();
272 // format has no post constraints
273 this.__format5a = format5a;
274 if (isMetafacadePropertyCachingEnabled())
275 {
276 this.__format5aSet = true;
277 }
278 }
279 return format5a;
280 }
281
282 /**
283 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isStrictDateFormat()
284 * @return boolean
285 */
286 protected abstract boolean handleIsStrictDateFormat();
287
288 private boolean __strictDateFormat6a;
289 private boolean __strictDateFormat6aSet = false;
290
291 /**
292 * Indicates where or not the date format is to be strictly respected. Otherwise the date
293 * formatter used for the representation of this date is to be set to lenient.
294 * @return (boolean)handleIsStrictDateFormat()
295 */
296 public final boolean isStrictDateFormat()
297 {
298 boolean strictDateFormat6a = this.__strictDateFormat6a;
299 if (!this.__strictDateFormat6aSet)
300 {
301 // strictDateFormat has no pre constraints
302 strictDateFormat6a = handleIsStrictDateFormat();
303 // strictDateFormat has no post constraints
304 this.__strictDateFormat6a = strictDateFormat6a;
305 if (isMetafacadePropertyCachingEnabled())
306 {
307 this.__strictDateFormat6aSet = true;
308 }
309 }
310 return strictDateFormat6a;
311 }
312
313 /**
314 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getDateFormatter()
315 * @return String
316 */
317 protected abstract String handleGetDateFormatter();
318
319 private String __dateFormatter7a;
320 private boolean __dateFormatter7aSet = false;
321
322 /**
323 * The name of the date formatter for this parameter (if this parameter represents a date).
324 * @return (String)handleGetDateFormatter()
325 */
326 public final String getDateFormatter()
327 {
328 String dateFormatter7a = this.__dateFormatter7a;
329 if (!this.__dateFormatter7aSet)
330 {
331 // dateFormatter has no pre constraints
332 dateFormatter7a = handleGetDateFormatter();
333 // dateFormatter has no post constraints
334 this.__dateFormatter7a = dateFormatter7a;
335 if (isMetafacadePropertyCachingEnabled())
336 {
337 this.__dateFormatter7aSet = true;
338 }
339 }
340 return dateFormatter7a;
341 }
342
343 /**
344 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getTimeFormatter()
345 * @return String
346 */
347 protected abstract String handleGetTimeFormatter();
348
349 private String __timeFormatter8a;
350 private boolean __timeFormatter8aSet = false;
351
352 /**
353 * The name of the time formatter (if this parameter represents a time).
354 * @return (String)handleGetTimeFormatter()
355 */
356 public final String getTimeFormatter()
357 {
358 String timeFormatter8a = this.__timeFormatter8a;
359 if (!this.__timeFormatter8aSet)
360 {
361 // timeFormatter has no pre constraints
362 timeFormatter8a = handleGetTimeFormatter();
363 // timeFormatter has no post constraints
364 this.__timeFormatter8a = timeFormatter8a;
365 if (isMetafacadePropertyCachingEnabled())
366 {
367 this.__timeFormatter8aSet = true;
368 }
369 }
370 return timeFormatter8a;
371 }
372
373 /**
374 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputCheckbox()
375 * @return boolean
376 */
377 protected abstract boolean handleIsInputCheckbox();
378
379 private boolean __inputCheckbox9a;
380 private boolean __inputCheckbox9aSet = false;
381
382 /**
383 * Indicates if this parameter represents a checkbox widget.
384 * @return (boolean)handleIsInputCheckbox()
385 */
386 public final boolean isInputCheckbox()
387 {
388 boolean inputCheckbox9a = this.__inputCheckbox9a;
389 if (!this.__inputCheckbox9aSet)
390 {
391 // inputCheckbox has no pre constraints
392 inputCheckbox9a = handleIsInputCheckbox();
393 // inputCheckbox has no post constraints
394 this.__inputCheckbox9a = inputCheckbox9a;
395 if (isMetafacadePropertyCachingEnabled())
396 {
397 this.__inputCheckbox9aSet = true;
398 }
399 }
400 return inputCheckbox9a;
401 }
402
403 /**
404 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputTextarea()
405 * @return boolean
406 */
407 protected abstract boolean handleIsInputTextarea();
408
409 private boolean __inputTextarea10a;
410 private boolean __inputTextarea10aSet = false;
411
412 /**
413 * Indicates if this parameter represents as an input text area widget.
414 * @return (boolean)handleIsInputTextarea()
415 */
416 public final boolean isInputTextarea()
417 {
418 boolean inputTextarea10a = this.__inputTextarea10a;
419 if (!this.__inputTextarea10aSet)
420 {
421 // inputTextarea has no pre constraints
422 inputTextarea10a = handleIsInputTextarea();
423 // inputTextarea has no post constraints
424 this.__inputTextarea10a = inputTextarea10a;
425 if (isMetafacadePropertyCachingEnabled())
426 {
427 this.__inputTextarea10aSet = true;
428 }
429 }
430 return inputTextarea10a;
431 }
432
433 /**
434 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputSelect()
435 * @return boolean
436 */
437 protected abstract boolean handleIsInputSelect();
438
439 private boolean __inputSelect11a;
440 private boolean __inputSelect11aSet = false;
441
442 /**
443 * Indicates whether or not this parameter represents an input select widget.
444 * @return (boolean)handleIsInputSelect()
445 */
446 public final boolean isInputSelect()
447 {
448 boolean inputSelect11a = this.__inputSelect11a;
449 if (!this.__inputSelect11aSet)
450 {
451 // inputSelect has no pre constraints
452 inputSelect11a = handleIsInputSelect();
453 // inputSelect has no post constraints
454 this.__inputSelect11a = inputSelect11a;
455 if (isMetafacadePropertyCachingEnabled())
456 {
457 this.__inputSelect11aSet = true;
458 }
459 }
460 return inputSelect11a;
461 }
462
463 /**
464 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputSecret()
465 * @return boolean
466 */
467 protected abstract boolean handleIsInputSecret();
468
469 private boolean __inputSecret12a;
470 private boolean __inputSecret12aSet = false;
471
472 /**
473 * Indicates whether or not this parameter represents an input "secret" widget (i.e. password).
474 * @return (boolean)handleIsInputSecret()
475 */
476 public final boolean isInputSecret()
477 {
478 boolean inputSecret12a = this.__inputSecret12a;
479 if (!this.__inputSecret12aSet)
480 {
481 // inputSecret has no pre constraints
482 inputSecret12a = handleIsInputSecret();
483 // inputSecret has no post constraints
484 this.__inputSecret12a = inputSecret12a;
485 if (isMetafacadePropertyCachingEnabled())
486 {
487 this.__inputSecret12aSet = true;
488 }
489 }
490 return inputSecret12a;
491 }
492
493 /**
494 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputHidden()
495 * @return boolean
496 */
497 protected abstract boolean handleIsInputHidden();
498
499 private boolean __inputHidden13a;
500 private boolean __inputHidden13aSet = false;
501
502 /**
503 * Indicates whether or not this parameter represents a hidden input widget.
504 * @return (boolean)handleIsInputHidden()
505 */
506 public final boolean isInputHidden()
507 {
508 boolean inputHidden13a = this.__inputHidden13a;
509 if (!this.__inputHidden13aSet)
510 {
511 // inputHidden has no pre constraints
512 inputHidden13a = handleIsInputHidden();
513 // inputHidden has no post constraints
514 this.__inputHidden13a = inputHidden13a;
515 if (isMetafacadePropertyCachingEnabled())
516 {
517 this.__inputHidden13aSet = true;
518 }
519 }
520 return inputHidden13a;
521 }
522
523 /**
524 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isPlaintext()
525 * @return boolean
526 */
527 protected abstract boolean handleIsPlaintext();
528
529 private boolean __plaintext14a;
530 private boolean __plaintext14aSet = false;
531
532 /**
533 * Indicates whether or not this field should be rendered as plain text (not as a widget).
534 * @return (boolean)handleIsPlaintext()
535 */
536 public final boolean isPlaintext()
537 {
538 boolean plaintext14a = this.__plaintext14a;
539 if (!this.__plaintext14aSet)
540 {
541 // plaintext has no pre constraints
542 plaintext14a = handleIsPlaintext();
543 // plaintext has no post constraints
544 this.__plaintext14a = plaintext14a;
545 if (isMetafacadePropertyCachingEnabled())
546 {
547 this.__plaintext14aSet = true;
548 }
549 }
550 return plaintext14a;
551 }
552
553 /**
554 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputRadio()
555 * @return boolean
556 */
557 protected abstract boolean handleIsInputRadio();
558
559 private boolean __inputRadio15a;
560 private boolean __inputRadio15aSet = false;
561
562 /**
563 * Indicates whether or not this parameter should be rendered as an input radio widget.
564 * @return (boolean)handleIsInputRadio()
565 */
566 public final boolean isInputRadio()
567 {
568 boolean inputRadio15a = this.__inputRadio15a;
569 if (!this.__inputRadio15aSet)
570 {
571 // inputRadio has no pre constraints
572 inputRadio15a = handleIsInputRadio();
573 // inputRadio has no post constraints
574 this.__inputRadio15a = inputRadio15a;
575 if (isMetafacadePropertyCachingEnabled())
576 {
577 this.__inputRadio15aSet = true;
578 }
579 }
580 return inputRadio15a;
581 }
582
583 /**
584 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputText()
585 * @return boolean
586 */
587 protected abstract boolean handleIsInputText();
588
589 private boolean __inputText16a;
590 private boolean __inputText16aSet = false;
591
592 /**
593 * Indicates whether or not this parameter should be rendered as a text input widget.
594 * @return (boolean)handleIsInputText()
595 */
596 public final boolean isInputText()
597 {
598 boolean inputText16a = this.__inputText16a;
599 if (!this.__inputText16aSet)
600 {
601 // inputText has no pre constraints
602 inputText16a = handleIsInputText();
603 // inputText has no post constraints
604 this.__inputText16a = inputText16a;
605 if (isMetafacadePropertyCachingEnabled())
606 {
607 this.__inputText16aSet = true;
608 }
609 }
610 return inputText16a;
611 }
612
613 /**
614 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getBackingListName()
615 * @return String
616 */
617 protected abstract String handleGetBackingListName();
618
619 private String __backingListName17a;
620 private boolean __backingListName17aSet = false;
621
622 /**
623 * The backing list name for this parameter. This is useful if you want to be able to select the
624 * parameter value from a list (i.e. a drop-down select input type).
625 * @return (String)handleGetBackingListName()
626 */
627 public final String getBackingListName()
628 {
629 String backingListName17a = this.__backingListName17a;
630 if (!this.__backingListName17aSet)
631 {
632 // backingListName has no pre constraints
633 backingListName17a = handleGetBackingListName();
634 // backingListName has no post constraints
635 this.__backingListName17a = backingListName17a;
636 if (isMetafacadePropertyCachingEnabled())
637 {
638 this.__backingListName17aSet = true;
639 }
640 }
641 return backingListName17a;
642 }
643
644 /**
645 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getLabelListName()
646 * @return String
647 */
648 protected abstract String handleGetLabelListName();
649
650 private String __labelListName18a;
651 private boolean __labelListName18aSet = false;
652
653 /**
654 * The name of the label list for this parameter. The label list name is the name of the list
655 * storing the labels for the possible values of this parameter (typically used for the labels
656 * of a drop-down select lists).
657 * @return (String)handleGetLabelListName()
658 */
659 public final String getLabelListName()
660 {
661 String labelListName18a = this.__labelListName18a;
662 if (!this.__labelListName18aSet)
663 {
664 // labelListName has no pre constraints
665 labelListName18a = handleGetLabelListName();
666 // labelListName has no post constraints
667 this.__labelListName18a = labelListName18a;
668 if (isMetafacadePropertyCachingEnabled())
669 {
670 this.__labelListName18aSet = true;
671 }
672 }
673 return labelListName18a;
674 }
675
676 /**
677 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getValueListName()
678 * @return String
679 */
680 protected abstract String handleGetValueListName();
681
682 private String __valueListName19a;
683 private boolean __valueListName19aSet = false;
684
685 /**
686 * Stores the name of the value list for this parameter; this list stores the possible values
687 * that this parameter may be (typically used for the values of a drop-down select list).
688 * @return (String)handleGetValueListName()
689 */
690 public final String getValueListName()
691 {
692 String valueListName19a = this.__valueListName19a;
693 if (!this.__valueListName19aSet)
694 {
695 // valueListName has no pre constraints
696 valueListName19a = handleGetValueListName();
697 // valueListName has no post constraints
698 this.__valueListName19a = valueListName19a;
699 if (isMetafacadePropertyCachingEnabled())
700 {
701 this.__valueListName19aSet = true;
702 }
703 }
704 return valueListName19a;
705 }
706
707 /**
708 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isSelectable()
709 * @return boolean
710 */
711 protected abstract boolean handleIsSelectable();
712
713 private boolean __selectable20a;
714 private boolean __selectable20aSet = false;
715
716 /**
717 * Indicates whether or not this parameter is selectable or not (that is: it can be selected
718 * from a list of values).
719 * @return (boolean)handleIsSelectable()
720 */
721 public final boolean isSelectable()
722 {
723 boolean selectable20a = this.__selectable20a;
724 if (!this.__selectable20aSet)
725 {
726 // selectable has no pre constraints
727 selectable20a = handleIsSelectable();
728 // selectable has no post constraints
729 this.__selectable20a = selectable20a;
730 if (isMetafacadePropertyCachingEnabled())
731 {
732 this.__selectable20aSet = true;
733 }
734 }
735 return selectable20a;
736 }
737
738 /**
739 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getDummyValue()
740 * @return String
741 */
742 protected abstract String handleGetDummyValue();
743
744 private String __dummyValue21a;
745 private boolean __dummyValue21aSet = false;
746
747 /**
748 * The dummy value for this parameter. The dummy value is used for setting the dummy information
749 * when dummyData is enabled.
750 * @return (String)handleGetDummyValue()
751 */
752 public final String getDummyValue()
753 {
754 String dummyValue21a = this.__dummyValue21a;
755 if (!this.__dummyValue21aSet)
756 {
757 // dummyValue has no pre constraints
758 dummyValue21a = handleGetDummyValue();
759 // dummyValue has no post constraints
760 this.__dummyValue21a = dummyValue21a;
761 if (isMetafacadePropertyCachingEnabled())
762 {
763 this.__dummyValue21aSet = true;
764 }
765 }
766 return dummyValue21a;
767 }
768
769 /**
770 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getValueListDummyValue()
771 * @return String
772 */
773 protected abstract String handleGetValueListDummyValue();
774
775 private String __valueListDummyValue22a;
776 private boolean __valueListDummyValue22aSet = false;
777
778 /**
779 * The dummy value for a value list.
780 * @return (String)handleGetValueListDummyValue()
781 */
782 public final String getValueListDummyValue()
783 {
784 String valueListDummyValue22a = this.__valueListDummyValue22a;
785 if (!this.__valueListDummyValue22aSet)
786 {
787 // valueListDummyValue has no pre constraints
788 valueListDummyValue22a = handleGetValueListDummyValue();
789 // valueListDummyValue has no post constraints
790 this.__valueListDummyValue22a = valueListDummyValue22a;
791 if (isMetafacadePropertyCachingEnabled())
792 {
793 this.__valueListDummyValue22aSet = true;
794 }
795 }
796 return valueListDummyValue22a;
797 }
798
799 /**
800 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getTableSortColumnProperty()
801 * @return String
802 */
803 protected abstract String handleGetTableSortColumnProperty();
804
805 private String __tableSortColumnProperty23a;
806 private boolean __tableSortColumnProperty23aSet = false;
807
808 /**
809 * The name of the property storing the column to sort by if this parameter represents a table.
810 * @return (String)handleGetTableSortColumnProperty()
811 */
812 public final String getTableSortColumnProperty()
813 {
814 String tableSortColumnProperty23a = this.__tableSortColumnProperty23a;
815 if (!this.__tableSortColumnProperty23aSet)
816 {
817 // tableSortColumnProperty has no pre constraints
818 tableSortColumnProperty23a = handleGetTableSortColumnProperty();
819 // tableSortColumnProperty has no post constraints
820 this.__tableSortColumnProperty23a = tableSortColumnProperty23a;
821 if (isMetafacadePropertyCachingEnabled())
822 {
823 this.__tableSortColumnProperty23aSet = true;
824 }
825 }
826 return tableSortColumnProperty23a;
827 }
828
829 /**
830 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getTableSortAscendingProperty()
831 * @return String
832 */
833 protected abstract String handleGetTableSortAscendingProperty();
834
835 private String __tableSortAscendingProperty24a;
836 private boolean __tableSortAscendingProperty24aSet = false;
837
838 /**
839 * The name of the property that Indicates whether or not the table should be sorted ascending
840 * (if this parameter represents a table).
841 * @return (String)handleGetTableSortAscendingProperty()
842 */
843 public final String getTableSortAscendingProperty()
844 {
845 String tableSortAscendingProperty24a = this.__tableSortAscendingProperty24a;
846 if (!this.__tableSortAscendingProperty24aSet)
847 {
848 // tableSortAscendingProperty has no pre constraints
849 tableSortAscendingProperty24a = handleGetTableSortAscendingProperty();
850 // tableSortAscendingProperty has no post constraints
851 this.__tableSortAscendingProperty24a = tableSortAscendingProperty24a;
852 if (isMetafacadePropertyCachingEnabled())
853 {
854 this.__tableSortAscendingProperty24aSet = true;
855 }
856 }
857 return tableSortAscendingProperty24a;
858 }
859
860 /**
861 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getFormAttributeSetProperty()
862 * @return String
863 */
864 protected abstract String handleGetFormAttributeSetProperty();
865
866 private String __formAttributeSetProperty25a;
867 private boolean __formAttributeSetProperty25aSet = false;
868
869 /**
870 * The name of the property used for indicating whether or not a form attribute has been set at
871 * least once.
872 * @return (String)handleGetFormAttributeSetProperty()
873 */
874 public final String getFormAttributeSetProperty()
875 {
876 String formAttributeSetProperty25a = this.__formAttributeSetProperty25a;
877 if (!this.__formAttributeSetProperty25aSet)
878 {
879 // formAttributeSetProperty has no pre constraints
880 formAttributeSetProperty25a = handleGetFormAttributeSetProperty();
881 // formAttributeSetProperty has no post constraints
882 this.__formAttributeSetProperty25a = formAttributeSetProperty25a;
883 if (isMetafacadePropertyCachingEnabled())
884 {
885 this.__formAttributeSetProperty25aSet = true;
886 }
887 }
888 return formAttributeSetProperty25a;
889 }
890
891 /**
892 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isReadOnly()
893 * @return boolean
894 */
895 protected abstract boolean handleIsReadOnly();
896
897 private boolean __readOnly26a;
898 private boolean __readOnly26aSet = false;
899
900 /**
901 * Indicates if this parameter can only be read and not modified.
902 * @return (boolean)handleIsReadOnly()
903 */
904 public final boolean isReadOnly()
905 {
906 boolean readOnly26a = this.__readOnly26a;
907 if (!this.__readOnly26aSet)
908 {
909 // readOnly has no pre constraints
910 readOnly26a = handleIsReadOnly();
911 // readOnly has no post constraints
912 this.__readOnly26a = readOnly26a;
913 if (isMetafacadePropertyCachingEnabled())
914 {
915 this.__readOnly26aSet = true;
916 }
917 }
918 return readOnly26a;
919 }
920
921 /**
922 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isValidationRequired()
923 * @return boolean
924 */
925 protected abstract boolean handleIsValidationRequired();
926
927 private boolean __validationRequired27a;
928 private boolean __validationRequired27aSet = false;
929
930 /**
931 * Indicates whether or not this parameter requires some kind of validation (the collection of
932 * validator types is not empty).
933 * @return (boolean)handleIsValidationRequired()
934 */
935 public final boolean isValidationRequired()
936 {
937 boolean validationRequired27a = this.__validationRequired27a;
938 if (!this.__validationRequired27aSet)
939 {
940 // validationRequired has no pre constraints
941 validationRequired27a = handleIsValidationRequired();
942 // validationRequired has no post constraints
943 this.__validationRequired27a = validationRequired27a;
944 if (isMetafacadePropertyCachingEnabled())
945 {
946 this.__validationRequired27aSet = true;
947 }
948 }
949 return validationRequired27a;
950 }
951
952 /**
953 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getValidatorTypes()
954 * @return Collection
955 */
956 protected abstract Collection handleGetValidatorTypes();
957
958 private Collection __validatorTypes28a;
959 private boolean __validatorTypes28aSet = false;
960
961 /**
962 * All the validator types for this parameter.
963 * @return (Collection)handleGetValidatorTypes()
964 */
965 public final Collection getValidatorTypes()
966 {
967 Collection validatorTypes28a = this.__validatorTypes28a;
968 if (!this.__validatorTypes28aSet)
969 {
970 // validatorTypes has no pre constraints
971 validatorTypes28a = handleGetValidatorTypes();
972 // validatorTypes has no post constraints
973 this.__validatorTypes28a = validatorTypes28a;
974 if (isMetafacadePropertyCachingEnabled())
975 {
976 this.__validatorTypes28aSet = true;
977 }
978 }
979 return validatorTypes28a;
980 }
981
982 /**
983 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getValidWhen()
984 * @return String
985 */
986 protected abstract String handleGetValidWhen();
987
988 private String __validWhen29a;
989 private boolean __validWhen29aSet = false;
990
991 /**
992 * The validator's 'validwhen' value, this is useful when the validation of a parameter depends
993 * on the validation of others. See the apache commons-validator documentation for more
994 * information.
995 * @return (String)handleGetValidWhen()
996 */
997 public final String getValidWhen()
998 {
999 String validWhen29a = this.__validWhen29a;
1000 if (!this.__validWhen29aSet)
1001 {
1002 // validWhen has no pre constraints
1003 validWhen29a = handleGetValidWhen();
1004 // validWhen has no post constraints
1005 this.__validWhen29a = validWhen29a;
1006 if (isMetafacadePropertyCachingEnabled())
1007 {
1008 this.__validWhen29aSet = true;
1009 }
1010 }
1011 return validWhen29a;
1012 }
1013
1014 /**
1015 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputFile()
1016 * @return boolean
1017 */
1018 protected abstract boolean handleIsInputFile();
1019
1020 private boolean __inputFile30a;
1021 private boolean __inputFile30aSet = false;
1022
1023 /**
1024 * Indicates whether or not this is a file input type.
1025 * @return (boolean)handleIsInputFile()
1026 */
1027 public final boolean isInputFile()
1028 {
1029 boolean inputFile30a = this.__inputFile30a;
1030 if (!this.__inputFile30aSet)
1031 {
1032 // inputFile has no pre constraints
1033 inputFile30a = handleIsInputFile();
1034 // inputFile has no post constraints
1035 this.__inputFile30a = inputFile30a;
1036 if (isMetafacadePropertyCachingEnabled())
1037 {
1038 this.__inputFile30aSet = true;
1039 }
1040 }
1041 return inputFile30a;
1042 }
1043
1044 /**
1045 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getValidatorVars()
1046 * @return Collection
1047 */
1048 protected abstract Collection handleGetValidatorVars();
1049
1050 private Collection __validatorVars31a;
1051 private boolean __validatorVars31aSet = false;
1052
1053 /**
1054 * The validator variables.
1055 * @return (Collection)handleGetValidatorVars()
1056 */
1057 public final Collection getValidatorVars()
1058 {
1059 Collection validatorVars31a = this.__validatorVars31a;
1060 if (!this.__validatorVars31aSet)
1061 {
1062 // validatorVars has no pre constraints
1063 validatorVars31a = handleGetValidatorVars();
1064 // validatorVars has no post constraints
1065 this.__validatorVars31a = validatorVars31a;
1066 if (isMetafacadePropertyCachingEnabled())
1067 {
1068 this.__validatorVars31aSet = true;
1069 }
1070 }
1071 return validatorVars31a;
1072 }
1073
1074 /**
1075 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputMultibox()
1076 * @return boolean
1077 */
1078 protected abstract boolean handleIsInputMultibox();
1079
1080 private boolean __inputMultibox32a;
1081 private boolean __inputMultibox32aSet = false;
1082
1083 /**
1084 * Indicates whether or not this type represents an input multibox.
1085 * @return (boolean)handleIsInputMultibox()
1086 */
1087 public final boolean isInputMultibox()
1088 {
1089 boolean inputMultibox32a = this.__inputMultibox32a;
1090 if (!this.__inputMultibox32aSet)
1091 {
1092 // inputMultibox has no pre constraints
1093 inputMultibox32a = handleIsInputMultibox();
1094 // inputMultibox has no post constraints
1095 this.__inputMultibox32a = inputMultibox32a;
1096 if (isMetafacadePropertyCachingEnabled())
1097 {
1098 this.__inputMultibox32aSet = true;
1099 }
1100 }
1101 return inputMultibox32a;
1102 }
1103
1104 /**
1105 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isReset()
1106 * @return boolean
1107 */
1108 protected abstract boolean handleIsReset();
1109
1110 private boolean __reset33a;
1111 private boolean __reset33aSet = false;
1112
1113 /**
1114 * Indicates if this parameter's value should be reset or not after an action has been performed
1115 * with this parameter.
1116 * @return (boolean)handleIsReset()
1117 */
1118 public final boolean isReset()
1119 {
1120 boolean reset33a = this.__reset33a;
1121 if (!this.__reset33aSet)
1122 {
1123 // reset has no pre constraints
1124 reset33a = handleIsReset();
1125 // reset has no post constraints
1126 this.__reset33a = reset33a;
1127 if (isMetafacadePropertyCachingEnabled())
1128 {
1129 this.__reset33aSet = true;
1130 }
1131 }
1132 return reset33a;
1133 }
1134
1135 /**
1136 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isComplex()
1137 * @return boolean
1138 */
1139 protected abstract boolean handleIsComplex();
1140
1141 private boolean __complex34a;
1142 private boolean __complex34aSet = false;
1143
1144 /**
1145 * Indicates if this parameter is 'complex', that is: its of a complex type (has at least one
1146 * attribute or association).
1147 * @return (boolean)handleIsComplex()
1148 */
1149 public final boolean isComplex()
1150 {
1151 boolean complex34a = this.__complex34a;
1152 if (!this.__complex34aSet)
1153 {
1154 // complex has no pre constraints
1155 complex34a = handleIsComplex();
1156 // complex has no post constraints
1157 this.__complex34a = complex34a;
1158 if (isMetafacadePropertyCachingEnabled())
1159 {
1160 this.__complex34aSet = true;
1161 }
1162 }
1163 return complex34a;
1164 }
1165
1166 /**
1167 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getAttributes()
1168 * @return Collection
1169 */
1170 protected abstract Collection handleGetAttributes();
1171
1172 private Collection __attributes35a;
1173 private boolean __attributes35aSet = false;
1174
1175 /**
1176 * All attributes belonging to this parameter's type.
1177 * @return (Collection)handleGetAttributes()
1178 */
1179 public final Collection getAttributes()
1180 {
1181 Collection attributes35a = this.__attributes35a;
1182 if (!this.__attributes35aSet)
1183 {
1184 // attributes has no pre constraints
1185 attributes35a = handleGetAttributes();
1186 // attributes has no post constraints
1187 this.__attributes35a = attributes35a;
1188 if (isMetafacadePropertyCachingEnabled())
1189 {
1190 this.__attributes35aSet = true;
1191 }
1192 }
1193 return attributes35a;
1194 }
1195
1196 /**
1197 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getNavigableAssociationEnds()
1198 * @return Collection<AssociationEndFacade>
1199 */
1200 protected abstract Collection<AssociationEndFacade> handleGetNavigableAssociationEnds();
1201
1202 private Collection<AssociationEndFacade> __navigableAssociationEnds36a;
1203 private boolean __navigableAssociationEnds36aSet = false;
1204
1205 /**
1206 * All navigation association ends belonging to this parameter's type.
1207 * @return (Collection<AssociationEndFacade>)handleGetNavigableAssociationEnds()
1208 */
1209 public final Collection<AssociationEndFacade> getNavigableAssociationEnds()
1210 {
1211 Collection<AssociationEndFacade> navigableAssociationEnds36a = this.__navigableAssociationEnds36a;
1212 if (!this.__navigableAssociationEnds36aSet)
1213 {
1214 // navigableAssociationEnds has no pre constraints
1215 navigableAssociationEnds36a = handleGetNavigableAssociationEnds();
1216 // navigableAssociationEnds has no post constraints
1217 this.__navigableAssociationEnds36a = navigableAssociationEnds36a;
1218 if (isMetafacadePropertyCachingEnabled())
1219 {
1220 this.__navigableAssociationEnds36aSet = true;
1221 }
1222 }
1223 return navigableAssociationEnds36a;
1224 }
1225
1226 /**
1227 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isEqualValidator()
1228 * @return boolean
1229 */
1230 protected abstract boolean handleIsEqualValidator();
1231
1232 private boolean __equalValidator37a;
1233 private boolean __equalValidator37aSet = false;
1234
1235 /**
1236 * Indicates whether or not this parameter uses the equal validator.
1237 * @return (boolean)handleIsEqualValidator()
1238 */
1239 public final boolean isEqualValidator()
1240 {
1241 boolean equalValidator37a = this.__equalValidator37a;
1242 if (!this.__equalValidator37aSet)
1243 {
1244 // equalValidator has no pre constraints
1245 equalValidator37a = handleIsEqualValidator();
1246 // equalValidator has no post constraints
1247 this.__equalValidator37a = equalValidator37a;
1248 if (isMetafacadePropertyCachingEnabled())
1249 {
1250 this.__equalValidator37aSet = true;
1251 }
1252 }
1253 return equalValidator37a;
1254 }
1255
1256 /**
1257 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getBackingValueName()
1258 * @return String
1259 */
1260 protected abstract String handleGetBackingValueName();
1261
1262 private String __backingValueName38a;
1263 private boolean __backingValueName38aSet = false;
1264
1265 /**
1266 * The name of the backing value for this parameter (only used with collections and arrays that
1267 * are input type table).
1268 * @return (String)handleGetBackingValueName()
1269 */
1270 public final String getBackingValueName()
1271 {
1272 String backingValueName38a = this.__backingValueName38a;
1273 if (!this.__backingValueName38aSet)
1274 {
1275 // backingValueName has no pre constraints
1276 backingValueName38a = handleGetBackingValueName();
1277 // backingValueName has no post constraints
1278 this.__backingValueName38a = backingValueName38a;
1279 if (isMetafacadePropertyCachingEnabled())
1280 {
1281 this.__backingValueName38aSet = true;
1282 }
1283 }
1284 return backingValueName38a;
1285 }
1286
1287 /**
1288 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isInputTable()
1289 * @return boolean
1290 */
1291 protected abstract boolean handleIsInputTable();
1292
1293 private boolean __inputTable39a;
1294 private boolean __inputTable39aSet = false;
1295
1296 /**
1297 * Indicates whether or not this is an table input type.
1298 * @return (boolean)handleIsInputTable()
1299 */
1300 public final boolean isInputTable()
1301 {
1302 boolean inputTable39a = this.__inputTable39a;
1303 if (!this.__inputTable39aSet)
1304 {
1305 // inputTable has no pre constraints
1306 inputTable39a = handleIsInputTable();
1307 // inputTable has no post constraints
1308 this.__inputTable39a = inputTable39a;
1309 if (isMetafacadePropertyCachingEnabled())
1310 {
1311 this.__inputTable39aSet = true;
1312 }
1313 }
1314 return inputTable39a;
1315 }
1316
1317 /**
1318 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isBackingValueRequired()
1319 * @return boolean
1320 */
1321 protected abstract boolean handleIsBackingValueRequired();
1322
1323 private boolean __backingValueRequired40a;
1324 private boolean __backingValueRequired40aSet = false;
1325
1326 /**
1327 * Indicates if a backing value is required for this parameter.
1328 * @return (boolean)handleIsBackingValueRequired()
1329 */
1330 public final boolean isBackingValueRequired()
1331 {
1332 boolean backingValueRequired40a = this.__backingValueRequired40a;
1333 if (!this.__backingValueRequired40aSet)
1334 {
1335 // backingValueRequired has no pre constraints
1336 backingValueRequired40a = handleIsBackingValueRequired();
1337 // backingValueRequired has no post constraints
1338 this.__backingValueRequired40a = backingValueRequired40a;
1339 if (isMetafacadePropertyCachingEnabled())
1340 {
1341 this.__backingValueRequired40aSet = true;
1342 }
1343 }
1344 return backingValueRequired40a;
1345 }
1346
1347 /**
1348 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getInputTableIdentifierColumns()
1349 * @return String
1350 */
1351 protected abstract String handleGetInputTableIdentifierColumns();
1352
1353 private String __inputTableIdentifierColumns41a;
1354 private boolean __inputTableIdentifierColumns41aSet = false;
1355
1356 /**
1357 * A comma separated list of the input table identifier columns (these are the columns that
1358 * uniquely define a row in an input table).
1359 * @return (String)handleGetInputTableIdentifierColumns()
1360 */
1361 public final String getInputTableIdentifierColumns()
1362 {
1363 String inputTableIdentifierColumns41a = this.__inputTableIdentifierColumns41a;
1364 if (!this.__inputTableIdentifierColumns41aSet)
1365 {
1366 // inputTableIdentifierColumns has no pre constraints
1367 inputTableIdentifierColumns41a = handleGetInputTableIdentifierColumns();
1368 // inputTableIdentifierColumns has no post constraints
1369 this.__inputTableIdentifierColumns41a = inputTableIdentifierColumns41a;
1370 if (isMetafacadePropertyCachingEnabled())
1371 {
1372 this.__inputTableIdentifierColumns41aSet = true;
1373 }
1374 }
1375 return inputTableIdentifierColumns41a;
1376 }
1377
1378 /**
1379 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#isPageableTable()
1380 * @return boolean
1381 */
1382 protected abstract boolean handleIsPageableTable();
1383
1384 private boolean __pageableTable42a;
1385 private boolean __pageableTable42aSet = false;
1386
1387 /**
1388 * Whether or not the parameter is a "pageable table", that is a table that supports paging
1389 * (i.e. DB paging).
1390 * @return (boolean)handleIsPageableTable()
1391 */
1392 public final boolean isPageableTable()
1393 {
1394 boolean pageableTable42a = this.__pageableTable42a;
1395 if (!this.__pageableTable42aSet)
1396 {
1397 // pageableTable has no pre constraints
1398 pageableTable42a = handleIsPageableTable();
1399 // pageableTable has no post constraints
1400 this.__pageableTable42a = pageableTable42a;
1401 if (isMetafacadePropertyCachingEnabled())
1402 {
1403 this.__pageableTable42aSet = true;
1404 }
1405 }
1406 return pageableTable42a;
1407 }
1408
1409 /**
1410 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getMaxLength()
1411 * @return String
1412 */
1413 protected abstract String handleGetMaxLength();
1414
1415 private String __maxLength43a;
1416 private boolean __maxLength43aSet = false;
1417
1418 /**
1419 * The max length allowed in the input component
1420 * @return (String)handleGetMaxLength()
1421 */
1422 public final String getMaxLength()
1423 {
1424 String maxLength43a = this.__maxLength43a;
1425 if (!this.__maxLength43aSet)
1426 {
1427 // maxLength has no pre constraints
1428 maxLength43a = handleGetMaxLength();
1429 // maxLength has no post constraints
1430 this.__maxLength43a = maxLength43a;
1431 if (isMetafacadePropertyCachingEnabled())
1432 {
1433 this.__maxLength43aSet = true;
1434 }
1435 }
1436 return maxLength43a;
1437 }
1438
1439 /**
1440 * @see org.andromda.cartridges.jsf2.metafacades.JSFParameter#getAnnotations()
1441 * @return Collection
1442 */
1443 protected abstract Collection handleGetAnnotations();
1444
1445 private Collection __annotations44a;
1446 private boolean __annotations44aSet = false;
1447
1448 /**
1449 * All the annotations for this parameter.
1450 * @return (Collection)handleGetAnnotations()
1451 */
1452 public final Collection getAnnotations()
1453 {
1454 Collection annotations44a = this.__annotations44a;
1455 if (!this.__annotations44aSet)
1456 {
1457 // annotations has no pre constraints
1458 annotations44a = handleGetAnnotations();
1459 // annotations has no post constraints
1460 this.__annotations44a = annotations44a;
1461 if (isMetafacadePropertyCachingEnabled())
1462 {
1463 this.__annotations44aSet = true;
1464 }
1465 }
1466 return annotations44a;
1467 }
1468
1469 // ---------------- business methods ----------------------
1470
1471 /**
1472 * Method to be implemented in descendants
1473 * TODO: Model Documentation for
1474 * org.andromda.cartridges.jsf2.metafacades.JSFParameter.getTableColumnMessageKey
1475 * @param columnName
1476 * @return String
1477 */
1478 protected abstract String handleGetTableColumnMessageKey(String columnName);
1479
1480 /**
1481 * TODO: Model Documentation for
1482 * org.andromda.cartridges.jsf2.metafacades.JSFParameter.getTableColumnMessageKey
1483 * @param columnName String
1484 * The name of the table column.
1485 * @return handleGetTableColumnMessageKey(columnName)
1486 */
1487 public String getTableColumnMessageKey(String columnName)
1488 {
1489 // getTableColumnMessageKey has no pre constraints
1490 String returnValue = handleGetTableColumnMessageKey(columnName);
1491 // getTableColumnMessageKey has no post constraints
1492 return returnValue;
1493 }
1494
1495 /**
1496 * Method to be implemented in descendants
1497 * TODO: Model Documentation for
1498 * org.andromda.cartridges.jsf2.metafacades.JSFParameter.getTableColumnMessageValue
1499 * @param columnName
1500 * @return String
1501 */
1502 protected abstract String handleGetTableColumnMessageValue(String columnName);
1503
1504 /**
1505 * TODO: Model Documentation for
1506 * org.andromda.cartridges.jsf2.metafacades.JSFParameter.getTableColumnMessageValue
1507 * @param columnName String
1508 * Returns the resource bundle value for this table's column, only returns a value when this
1509 * parameter is a table.
1510 * @return handleGetTableColumnMessageValue(columnName)
1511 */
1512 public String getTableColumnMessageValue(String columnName)
1513 {
1514 // getTableColumnMessageValue has no pre constraints
1515 String returnValue = handleGetTableColumnMessageValue(columnName);
1516 // getTableColumnMessageValue has no post constraints
1517 return returnValue;
1518 }
1519
1520 /**
1521 * Method to be implemented in descendants
1522 * Gets the arguments for this parameter's validators.
1523 * @param validatorType
1524 * @return Collection
1525 */
1526 protected abstract Collection handleGetValidatorArgs(String validatorType);
1527
1528 /**
1529 * Gets the arguments for this parameter's validators.
1530 * @param validatorType String
1531 * The type of the validator.
1532 * @return handleGetValidatorArgs(validatorType)
1533 */
1534 public Collection getValidatorArgs(String validatorType)
1535 {
1536 // getValidatorArgs has no pre constraints
1537 Collection returnValue = handleGetValidatorArgs(validatorType);
1538 // getValidatorArgs has no post constraints
1539 return returnValue;
1540 }
1541
1542 /**
1543 * Method to be implemented in descendants
1544 * Those actions that are targetting the given column, only makes sense when this parameter
1545 * represents a table view-variable.
1546 * @param columnName
1547 * @return List
1548 */
1549 protected abstract List handleGetTableColumnActions(String columnName);
1550
1551 /**
1552 * Those actions that are targetting the given column, only makes sense when this parameter
1553 * represents a table view-variable.
1554 * @param columnName String
1555 * The column name of the column that the retrieved actions target.
1556 * @return handleGetTableColumnActions(columnName)
1557 */
1558 public List getTableColumnActions(String columnName)
1559 {
1560 // getTableColumnActions has no pre constraints
1561 List returnValue = handleGetTableColumnActions(columnName);
1562 // getTableColumnActions has no post constraints
1563 return returnValue;
1564 }
1565
1566 // ------------- associations ------------------
1567
1568 private List<JSFAction> __getTableHyperlinkActions1r;
1569 private boolean __getTableHyperlinkActions1rSet = false;
1570
1571 /**
1572 * Represents a parameter in a JSF front-end.
1573 * @return (List<JSFAction>)handleGetTableHyperlinkActions()
1574 */
1575 public final List<JSFAction> getTableHyperlinkActions()
1576 {
1577 List<JSFAction> getTableHyperlinkActions1r = this.__getTableHyperlinkActions1r;
1578 if (!this.__getTableHyperlinkActions1rSet)
1579 {
1580 // jSFParameter has no pre constraints
1581 List result = handleGetTableHyperlinkActions();
1582 List shieldedResult = this.shieldedElements(result);
1583 try
1584 {
1585 getTableHyperlinkActions1r = (List<JSFAction>)shieldedResult;
1586 }
1587 catch (ClassCastException ex)
1588 {
1589 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
1590 JSFParameterLogic.logger.warn("incorrect metafacade cast for JSFParameterLogic.getTableHyperlinkActions List<JSFAction> " + result + ": " + shieldedResult);
1591 }
1592 // jSFParameter has no post constraints
1593 this.__getTableHyperlinkActions1r = getTableHyperlinkActions1r;
1594 if (isMetafacadePropertyCachingEnabled())
1595 {
1596 this.__getTableHyperlinkActions1rSet = true;
1597 }
1598 }
1599 return getTableHyperlinkActions1r;
1600 }
1601
1602 /**
1603 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
1604 * @return List
1605 */
1606 protected abstract List handleGetTableHyperlinkActions();
1607
1608 private List<JSFAction> __getTableFormActions2r;
1609 private boolean __getTableFormActions2rSet = false;
1610
1611 /**
1612 * Represents a parameter in a JSF front-end.
1613 * @return (List<JSFAction>)handleGetTableFormActions()
1614 */
1615 public final List<JSFAction> getTableFormActions()
1616 {
1617 List<JSFAction> getTableFormActions2r = this.__getTableFormActions2r;
1618 if (!this.__getTableFormActions2rSet)
1619 {
1620 // jSFParameter has no pre constraints
1621 List result = handleGetTableFormActions();
1622 List shieldedResult = this.shieldedElements(result);
1623 try
1624 {
1625 getTableFormActions2r = (List<JSFAction>)shieldedResult;
1626 }
1627 catch (ClassCastException ex)
1628 {
1629 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
1630 JSFParameterLogic.logger.warn("incorrect metafacade cast for JSFParameterLogic.getTableFormActions List<JSFAction> " + result + ": " + shieldedResult);
1631 }
1632 // jSFParameter has no post constraints
1633 this.__getTableFormActions2r = getTableFormActions2r;
1634 if (isMetafacadePropertyCachingEnabled())
1635 {
1636 this.__getTableFormActions2rSet = true;
1637 }
1638 }
1639 return getTableFormActions2r;
1640 }
1641
1642 /**
1643 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
1644 * @return List
1645 */
1646 protected abstract List handleGetTableFormActions();
1647
1648 private List<JSFAction> __getTableActions3r;
1649 private boolean __getTableActions3rSet = false;
1650
1651 /**
1652 * Represents a parameter in a JSF front-end.
1653 * @return (List<JSFAction>)handleGetTableActions()
1654 */
1655 public final List<JSFAction> getTableActions()
1656 {
1657 List<JSFAction> getTableActions3r = this.__getTableActions3r;
1658 if (!this.__getTableActions3rSet)
1659 {
1660 // jSFParameter has no pre constraints
1661 List result = handleGetTableActions();
1662 List shieldedResult = this.shieldedElements(result);
1663 try
1664 {
1665 getTableActions3r = (List<JSFAction>)shieldedResult;
1666 }
1667 catch (ClassCastException ex)
1668 {
1669 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
1670 JSFParameterLogic.logger.warn("incorrect metafacade cast for JSFParameterLogic.getTableActions List<JSFAction> " + result + ": " + shieldedResult);
1671 }
1672 // jSFParameter has no post constraints
1673 this.__getTableActions3r = getTableActions3r;
1674 if (isMetafacadePropertyCachingEnabled())
1675 {
1676 this.__getTableActions3rSet = true;
1677 }
1678 }
1679 return getTableActions3r;
1680 }
1681
1682 /**
1683 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
1684 * @return List
1685 */
1686 protected abstract List handleGetTableActions();
1687
1688 /**
1689 * @return true
1690 * @see FrontEndParameter
1691 */
1692 public boolean isFrontEndParameterMetaType()
1693 {
1694 return true;
1695 }
1696
1697 /**
1698 * @return true
1699 * @see org.andromda.metafacades.uml.ParameterFacade
1700 */
1701 public boolean isParameterFacadeMetaType()
1702 {
1703 return true;
1704 }
1705
1706 /**
1707 * @return true
1708 * @see ModelElementFacade
1709 */
1710 public boolean isModelElementFacadeMetaType()
1711 {
1712 return true;
1713 }
1714
1715 // ----------- delegates to FrontEndParameter ------------
1716 /**
1717 * The action to which this parameter belongs (if it belongs to an action), otherwise it returns
1718 * null.
1719 * @see FrontEndParameter#getAction()
1720 */
1721 public FrontEndAction getAction()
1722 {
1723 return this.getSuperFrontEndParameter().getAction();
1724 }
1725
1726 /**
1727 * Gets the controller operation to which this parameter belongs.
1728 * @see FrontEndParameter#getControllerOperation()
1729 */
1730 public FrontEndControllerOperation getControllerOperation()
1731 {
1732 return this.getSuperFrontEndParameter().getControllerOperation();
1733 }
1734
1735 /**
1736 * A collection of all possible attribute names of a table (this will only work when your table
1737 * is modeled as an array..not a collection).
1738 * @see FrontEndParameter#getTableAttributeNames()
1739 */
1740 public Collection<String> getTableAttributeNames()
1741 {
1742 return this.getSuperFrontEndParameter().getTableAttributeNames();
1743 }
1744
1745 /**
1746 * All the columns for this parameter if it represents a table variable. If a column is linked
1747 * by an event (action) a FrontEndParameter instance is included in the return value, otherwise
1748 * a plain String representing the column name.
1749 * @see FrontEndParameter#getTableColumnNames()
1750 */
1751 public Collection<String> getTableColumnNames()
1752 {
1753 return this.getSuperFrontEndParameter().getTableColumnNames();
1754 }
1755
1756 /**
1757 * A list of all attributes which make up the table columns of this table (this only contains
1758 * attributes when the table is represented by an array).
1759 * @see FrontEndParameter#getTableColumns()
1760 */
1761 public Collection<String> getTableColumns()
1762 {
1763 return this.getSuperFrontEndParameter().getTableColumns();
1764 }
1765
1766 /**
1767 * Represents the view in which this parameter will be used.
1768 * @see FrontEndParameter#getView()
1769 */
1770 public FrontEndView getView()
1771 {
1772 return this.getSuperFrontEndParameter().getView();
1773 }
1774
1775 /**
1776 * Indicates whether or not this is an action parameter or not.
1777 * @see FrontEndParameter#isActionParameter()
1778 */
1779 public boolean isActionParameter()
1780 {
1781 return this.getSuperFrontEndParameter().isActionParameter();
1782 }
1783
1784 /**
1785 * Indicates if this parameter is contained in a "front-end" use case.
1786 * @see FrontEndParameter#isContainedInFrontEndUseCase()
1787 */
1788 public boolean isContainedInFrontEndUseCase()
1789 {
1790 return this.getSuperFrontEndParameter().isContainedInFrontEndUseCase();
1791 }
1792
1793 /**
1794 * Indicates whether or not this parameter is an argument of a controller operation.
1795 * @see FrontEndParameter#isControllerOperationArgument()
1796 */
1797 public boolean isControllerOperationArgument()
1798 {
1799 return this.getSuperFrontEndParameter().isControllerOperationArgument();
1800 }
1801
1802 /**
1803 * Indicates whether or not this parameter represents a table.
1804 * @see FrontEndParameter#isTable()
1805 */
1806 public boolean isTable()
1807 {
1808 return this.getSuperFrontEndParameter().isTable();
1809 }
1810
1811 /**
1812 * Copies all tagged values from the given ModelElementFacade to this model element facade.
1813 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
1814 */
1815 public void copyTaggedValues(ModelElementFacade element)
1816 {
1817 this.getSuperFrontEndParameter().copyTaggedValues(element);
1818 }
1819
1820 /**
1821 * Finds the tagged value with the specified 'tagName'. In case there are more values the first
1822 * one found will be returned.
1823 * @see ModelElementFacade#findTaggedValue(String tagName)
1824 */
1825 public Object findTaggedValue(String tagName)
1826 {
1827 return this.getSuperFrontEndParameter().findTaggedValue(tagName);
1828 }
1829
1830 /**
1831 * Returns all the values for the tagged value with the specified name. The returned collection
1832 * will contains only String instances, or will be empty. Never null.
1833 * @see ModelElementFacade#findTaggedValues(String tagName)
1834 */
1835 public Collection<Object> findTaggedValues(String tagName)
1836 {
1837 return this.getSuperFrontEndParameter().findTaggedValues(tagName);
1838 }
1839
1840 /**
1841 * Returns the fully qualified name of the model element. The fully qualified name includes
1842 * complete package qualified name of the underlying model element. The templates parameter will
1843 * be replaced by the correct one given the binding relation of the parameter to this element.
1844 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
1845 */
1846 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
1847 {
1848 return this.getSuperFrontEndParameter().getBindedFullyQualifiedName(bindedElement);
1849 }
1850
1851 /**
1852 * Gets all constraints belonging to the model element.
1853 * @see ModelElementFacade#getConstraints()
1854 */
1855 public Collection<ConstraintFacade> getConstraints()
1856 {
1857 return this.getSuperFrontEndParameter().getConstraints();
1858 }
1859
1860 /**
1861 * Returns the constraints of the argument kind that have been placed onto this model. Typical
1862 * kinds are "inv", "pre" and "post". Other kinds are possible.
1863 * @see ModelElementFacade#getConstraints(String kind)
1864 */
1865 public Collection<ConstraintFacade> getConstraints(String kind)
1866 {
1867 return this.getSuperFrontEndParameter().getConstraints(kind);
1868 }
1869
1870 /**
1871 * Gets the documentation for the model element, The indent argument is prefixed to each line.
1872 * By default this method wraps lines after 64 characters.
1873 * This method is equivalent to <code>getDocumentation(indent, 64)</code>.
1874 * @see ModelElementFacade#getDocumentation(String indent)
1875 */
1876 public String getDocumentation(String indent)
1877 {
1878 return this.getSuperFrontEndParameter().getDocumentation(indent);
1879 }
1880
1881 /**
1882 * This method returns the documentation for this model element, with the lines wrapped after
1883 * the specified number of characters, values of less than 1 will indicate no line wrapping is
1884 * required. By default paragraphs are returned as HTML.
1885 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
1886 * @see ModelElementFacade#getDocumentation(String indent, int lineLength)
1887 */
1888 public String getDocumentation(String indent, int lineLength)
1889 {
1890 return this.getSuperFrontEndParameter().getDocumentation(indent, lineLength);
1891 }
1892
1893 /**
1894 * This method returns the documentation for this model element, with the lines wrapped after
1895 * the specified number of characters, values of less than 1 will indicate no line wrapping is
1896 * required. HTML style determines if HTML Escaping is applied.
1897 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
1898 */
1899 public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
1900 {
1901 return this.getSuperFrontEndParameter().getDocumentation(indent, lineLength, htmlStyle);
1902 }
1903
1904 /**
1905 * The fully qualified name of this model element.
1906 * @see ModelElementFacade#getFullyQualifiedName()
1907 */
1908 public String getFullyQualifiedName()
1909 {
1910 return this.getSuperFrontEndParameter().getFullyQualifiedName();
1911 }
1912
1913 /**
1914 * Returns the fully qualified name of the model element. The fully qualified name includes
1915 * complete package qualified name of the underlying model element. If modelName is true, then
1916 * the original name of the model element (the name contained within the model) will be the name
1917 * returned, otherwise a name from a language mapping will be returned.
1918 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
1919 */
1920 public String getFullyQualifiedName(boolean modelName)
1921 {
1922 return this.getSuperFrontEndParameter().getFullyQualifiedName(modelName);
1923 }
1924
1925 /**
1926 * Returns the fully qualified name as a path, the returned value always starts with out a slash
1927 * '/'.
1928 * @see ModelElementFacade#getFullyQualifiedNamePath()
1929 */
1930 public String getFullyQualifiedNamePath()
1931 {
1932 return this.getSuperFrontEndParameter().getFullyQualifiedNamePath();
1933 }
1934
1935 /**
1936 * Gets the unique identifier of the underlying model element.
1937 * @see ModelElementFacade#getId()
1938 */
1939 public String getId()
1940 {
1941 return this.getSuperFrontEndParameter().getId();
1942 }
1943
1944 /**
1945 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which
1946 * are not represented by other properties, i.e. native, transient, volatile, synchronized,
1947 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
1948 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
1949 * JDK5 compiler level.
1950 * @see ModelElementFacade#getKeywords()
1951 */
1952 public Collection<String> getKeywords()
1953 {
1954 return this.getSuperFrontEndParameter().getKeywords();
1955 }
1956
1957 /**
1958 * UML2: Retrieves a localized label for this named element.
1959 * @see ModelElementFacade#getLabel()
1960 */
1961 public String getLabel()
1962 {
1963 return this.getSuperFrontEndParameter().getLabel();
1964 }
1965
1966 /**
1967 * The language mappings that have been set for this model element.
1968 * @see ModelElementFacade#getLanguageMappings()
1969 */
1970 public TypeMappings getLanguageMappings()
1971 {
1972 return this.getSuperFrontEndParameter().getLanguageMappings();
1973 }
1974
1975 /**
1976 * Return the model containing this model element (multiple models may be loaded and processed
1977 * at the same time).
1978 * @see ModelElementFacade#getModel()
1979 */
1980 public ModelFacade getModel()
1981 {
1982 return this.getSuperFrontEndParameter().getModel();
1983 }
1984
1985 /**
1986 * The name of the model element.
1987 * @see ModelElementFacade#getName()
1988 */
1989 public String getName()
1990 {
1991 return this.getSuperFrontEndParameter().getName();
1992 }
1993
1994 /**
1995 * Gets the package to which this model element belongs.
1996 * @see ModelElementFacade#getPackage()
1997 */
1998 public ModelElementFacade getPackage()
1999 {
2000 return this.getSuperFrontEndParameter().getPackage();
2001 }
2002
2003 /**
2004 * The name of this model element's package.
2005 * @see ModelElementFacade#getPackageName()
2006 */
2007 public String getPackageName()
2008 {
2009 return this.getSuperFrontEndParameter().getPackageName();
2010 }
2011
2012 /**
2013 * Gets the package name (optionally providing the ability to retrieve the model name and not
2014 * the mapped name).
2015 * @see ModelElementFacade#getPackageName(boolean modelName)
2016 */
2017 public String getPackageName(boolean modelName)
2018 {
2019 return this.getSuperFrontEndParameter().getPackageName(modelName);
2020 }
2021
2022 /**
2023 * Returns the package as a path, the returned value always starts with out a slash '/'.
2024 * @see ModelElementFacade#getPackagePath()
2025 */
2026 public String getPackagePath()
2027 {
2028 return this.getSuperFrontEndParameter().getPackagePath();
2029 }
2030
2031 /**
2032 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
2033 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
2034 * the names of the containing namespaces starting at the root of the hierarchy and ending with
2035 * the name of the NamedElement itself.
2036 * @see ModelElementFacade#getQualifiedName()
2037 */
2038 public String getQualifiedName()
2039 {
2040 return this.getSuperFrontEndParameter().getQualifiedName();
2041 }
2042
2043 /**
2044 * Gets the root package for the model element.
2045 * @see ModelElementFacade#getRootPackage()
2046 */
2047 public PackageFacade getRootPackage()
2048 {
2049 return this.getSuperFrontEndParameter().getRootPackage();
2050 }
2051
2052 /**
2053 * Gets the dependencies for which this model element is the source.
2054 * @see ModelElementFacade#getSourceDependencies()
2055 */
2056 public Collection<DependencyFacade> getSourceDependencies()
2057 {
2058 return this.getSuperFrontEndParameter().getSourceDependencies();
2059 }
2060
2061 /**
2062 * If this model element is the context of an activity graph, this represents that activity
2063 * graph.
2064 * @see ModelElementFacade#getStateMachineContext()
2065 */
2066 public StateMachineFacade getStateMachineContext()
2067 {
2068 return this.getSuperFrontEndParameter().getStateMachineContext();
2069 }
2070
2071 /**
2072 * The collection of ALL stereotype names for this model element.
2073 * @see ModelElementFacade#getStereotypeNames()
2074 */
2075 public Collection<String> getStereotypeNames()
2076 {
2077 return this.getSuperFrontEndParameter().getStereotypeNames();
2078 }
2079
2080 /**
2081 * Gets all stereotypes for this model element.
2082 * @see ModelElementFacade#getStereotypes()
2083 */
2084 public Collection<StereotypeFacade> getStereotypes()
2085 {
2086 return this.getSuperFrontEndParameter().getStereotypes();
2087 }
2088
2089 /**
2090 * Return the TaggedValues associated with this model element, under all stereotypes.
2091 * @see ModelElementFacade#getTaggedValues()
2092 */
2093 public Collection<TaggedValueFacade> getTaggedValues()
2094 {
2095 return this.getSuperFrontEndParameter().getTaggedValues();
2096 }
2097
2098 /**
2099 * Gets the dependencies for which this model element is the target.
2100 * @see ModelElementFacade#getTargetDependencies()
2101 */
2102 public Collection<DependencyFacade> getTargetDependencies()
2103 {
2104 return this.getSuperFrontEndParameter().getTargetDependencies();
2105 }
2106
2107 /**
2108 * Get the template parameter for this model element having the parameterName
2109 * @see ModelElementFacade#getTemplateParameter(String parameterName)
2110 */
2111 public Object getTemplateParameter(String parameterName)
2112 {
2113 return this.getSuperFrontEndParameter().getTemplateParameter(parameterName);
2114 }
2115
2116 /**
2117 * Get the template parameters for this model element
2118 * @see ModelElementFacade#getTemplateParameters()
2119 */
2120 public Collection<TemplateParameterFacade> getTemplateParameters()
2121 {
2122 return this.getSuperFrontEndParameter().getTemplateParameters();
2123 }
2124
2125 /**
2126 * The visibility (i.e. public, private, protected or package) of the model element, will
2127 * attempt a lookup for these values in the language mappings (if any).
2128 * @see ModelElementFacade#getVisibility()
2129 */
2130 public String getVisibility()
2131 {
2132 return this.getSuperFrontEndParameter().getVisibility();
2133 }
2134
2135 /**
2136 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
2137 * is taken into account when searching for the stereotype), false otherwise.
2138 * @see ModelElementFacade#hasExactStereotype(String stereotypeName)
2139 */
2140 public boolean hasExactStereotype(String stereotypeName)
2141 {
2142 return this.getSuperFrontEndParameter().hasExactStereotype(stereotypeName);
2143 }
2144
2145 /**
2146 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
2147 * pipe, semicolon, or << >>
2148 * @see ModelElementFacade#hasKeyword(String keywordName)
2149 */
2150 public boolean hasKeyword(String keywordName)
2151 {
2152 return this.getSuperFrontEndParameter().hasKeyword(keywordName);
2153 }
2154
2155 /**
2156 * Returns true if the model element has the specified stereotype. If the stereotype itself
2157 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if
2158 * one of the stereotype's ancestors has a matching name this method will return true, false
2159 * otherwise.
2160 * For example, if we have a certain stereotype called <<exception>> and a model element has a
2161 * stereotype called <<applicationException>> which extends <<exception>>, when calling this
2162 * method with 'stereotypeName' defined as 'exception' the method would return true since
2163 * <<applicationException>> inherits from <<exception>>. If you want to check if the model
2164 * element has the exact stereotype, then use the method 'hasExactStereotype' instead.
2165 * @see ModelElementFacade#hasStereotype(String stereotypeName)
2166 */
2167 public boolean hasStereotype(String stereotypeName)
2168 {
2169 return this.getSuperFrontEndParameter().hasStereotype(stereotypeName);
2170 }
2171
2172 /**
2173 * True if there are target dependencies from this element that are instances of BindingFacade.
2174 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
2175 * @see ModelElementFacade#isBindingDependenciesPresent()
2176 */
2177 public boolean isBindingDependenciesPresent()
2178 {
2179 return this.getSuperFrontEndParameter().isBindingDependenciesPresent();
2180 }
2181
2182 /**
2183 * Indicates if any constraints are present on this model element.
2184 * @see ModelElementFacade#isConstraintsPresent()
2185 */
2186 public boolean isConstraintsPresent()
2187 {
2188 return this.getSuperFrontEndParameter().isConstraintsPresent();
2189 }
2190
2191 /**
2192 * Indicates if any documentation is present on this model element.
2193 * @see ModelElementFacade#isDocumentationPresent()
2194 */
2195 public boolean isDocumentationPresent()
2196 {
2197 return this.getSuperFrontEndParameter().isDocumentationPresent();
2198 }
2199
2200 /**
2201 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
2202 * @see ModelElementFacade#isReservedWord()
2203 */
2204 public boolean isReservedWord()
2205 {
2206 return this.getSuperFrontEndParameter().isReservedWord();
2207 }
2208
2209 /**
2210 * True is there are template parameters on this model element. For UML2, applies to Class,
2211 * Operation, Property, and Parameter.
2212 * @see ModelElementFacade#isTemplateParametersPresent()
2213 */
2214 public boolean isTemplateParametersPresent()
2215 {
2216 return this.getSuperFrontEndParameter().isTemplateParametersPresent();
2217 }
2218
2219 /**
2220 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
2221 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on
2222 * Enumerations and Interfaces, optionally applies on other model elements.
2223 * @see ModelElementFacade#isValidIdentifierName()
2224 */
2225 public boolean isValidIdentifierName()
2226 {
2227 return this.getSuperFrontEndParameter().isValidIdentifierName();
2228 }
2229
2230 /**
2231 * Searches for the constraint with the specified 'name' on this model element, and if found
2232 * translates it using the specified 'translation' from a translation library discovered by the
2233 * framework.
2234 * @see ModelElementFacade#translateConstraint(String name, String translation)
2235 */
2236 public String translateConstraint(String name, String translation)
2237 {
2238 return this.getSuperFrontEndParameter().translateConstraint(name, translation);
2239 }
2240
2241 /**
2242 * Translates all constraints belonging to this model element with the given 'translation'.
2243 * @see ModelElementFacade#translateConstraints(String translation)
2244 */
2245 public String[] translateConstraints(String translation)
2246 {
2247 return this.getSuperFrontEndParameter().translateConstraints(translation);
2248 }
2249
2250 /**
2251 * Translates the constraints of the specified 'kind' belonging to this model element.
2252 * @see ModelElementFacade#translateConstraints(String kind, String translation)
2253 */
2254 public String[] translateConstraints(String kind, String translation)
2255 {
2256 return this.getSuperFrontEndParameter().translateConstraints(kind, translation);
2257 }
2258
2259 /**
2260 * TODO: Model Documentation for org.andromda.metafacades.uml.ParameterFacade.defaultValue
2261 * @see org.andromda.metafacades.uml.ParameterFacade#getDefaultValue()
2262 */
2263 public String getDefaultValue()
2264 {
2265 return this.getSuperFrontEndParameter().getDefaultValue();
2266 }
2267
2268 /**
2269 * UML2: A representation of the literals of the enumeration 'Parameter Effect Kind': CREATE,
2270 * READ, UPDATE, DELETE. The datatype ParameterEffectKind is an enumeration that indicates the
2271 * effect of a behavior on values passed in or out of its parameters.
2272 * @see org.andromda.metafacades.uml.ParameterFacade#getEffect()
2273 */
2274 public String getEffect()
2275 {
2276 return this.getSuperFrontEndParameter().getEffect();
2277 }
2278
2279 /**
2280 * If this parameter is located on an event, this will represent that event.
2281 * @see org.andromda.metafacades.uml.ParameterFacade#getEvent()
2282 */
2283 public EventFacade getEvent()
2284 {
2285 return this.getSuperFrontEndParameter().getEvent();
2286 }
2287
2288 /**
2289 * The name to use for accessors getting this parameter from a bean.
2290 * @see org.andromda.metafacades.uml.ParameterFacade#getGetterName()
2291 */
2292 public String getGetterName()
2293 {
2294 return this.getSuperFrontEndParameter().getGetterName();
2295 }
2296
2297 /**
2298 * Fully Qualified TypeName, determined in part by multiplicity (for UML2). For UML14, same as
2299 * getterName.
2300 * @see org.andromda.metafacades.uml.ParameterFacade#getGetterSetterTypeName()
2301 */
2302 public String getGetterSetterTypeName()
2303 {
2304 return this.getSuperFrontEndParameter().getGetterSetterTypeName();
2305 }
2306
2307 /**
2308 * Fully Qualified implementation class of TypeName, determined in part by multiplicity (for
2309 * UML2). If upper multiplicity =1, same as getterSetterTypeName.
2310 * @see org.andromda.metafacades.uml.ParameterFacade#getGetterSetterTypeNameImpl()
2311 */
2312 public String getGetterSetterTypeNameImpl()
2313 {
2314 return this.getSuperFrontEndParameter().getGetterSetterTypeNameImpl();
2315 }
2316
2317 /**
2318 * the lower value for the multiplicity
2319 * -only applicable for UML2
2320 * @see org.andromda.metafacades.uml.ParameterFacade#getLower()
2321 */
2322 public int getLower()
2323 {
2324 return this.getSuperFrontEndParameter().getLower();
2325 }
2326
2327 /**
2328 * If this parameter is located on an operation, this will represent that operation.
2329 * @see org.andromda.metafacades.uml.ParameterFacade#getOperation()
2330 */
2331 public OperationFacade getOperation()
2332 {
2333 return this.getSuperFrontEndParameter().getOperation();
2334 }
2335
2336 /**
2337 * The name to use for accessors getting this parameter in a bean.
2338 * @see org.andromda.metafacades.uml.ParameterFacade#getSetterName()
2339 */
2340 public String getSetterName()
2341 {
2342 return this.getSuperFrontEndParameter().getSetterName();
2343 }
2344
2345 /**
2346 * A Classifier is a classification of instances - it describes a set of instances that have
2347 * features
2348 * in common. Can specify a generalization hierarchy by referencing its general classifiers. It
2349 * may be
2350 * a Class, DataType, PrimitiveType, Association, Collaboration, UseCase, etc. Can specify a
2351 * generalization hierarchy by referencing its general classifiers. Has the capability to own
2352 * collaboration uses. These collaboration uses link a collaboration with the classifier to give
2353 * a
2354 * description of the workings of the classifier. Classifier is defined to be a kind of
2355 * templateable
2356 * element so that a classifier can be parameterized. It is also defined to be a kind of
2357 * parameterable
2358 * element so that a classifier can be a formal template parameter.
2359 * @see org.andromda.metafacades.uml.ParameterFacade#getType()
2360 */
2361 public ClassifierFacade getType()
2362 {
2363 return this.getSuperFrontEndParameter().getType();
2364 }
2365
2366 /**
2367 * the upper value of the multiplicity (will be -1 for *)
2368 * -only applicable for UML2
2369 * @see org.andromda.metafacades.uml.ParameterFacade#getUpper()
2370 */
2371 public int getUpper()
2372 {
2373 return this.getSuperFrontEndParameter().getUpper();
2374 }
2375
2376 /**
2377 * Indicates if the default value is present.
2378 * @see org.andromda.metafacades.uml.ParameterFacade#isDefaultValuePresent()
2379 */
2380 public boolean isDefaultValuePresent()
2381 {
2382 return this.getSuperFrontEndParameter().isDefaultValuePresent();
2383 }
2384
2385 /**
2386 * UML2: Returns the value of the 'Is Exception' attribute. The default value is "false". Tells
2387 * whether an output parameter may emit a value to the exclusion of the other outputs.
2388 * @see org.andromda.metafacades.uml.ParameterFacade#isException()
2389 */
2390 public boolean isException()
2391 {
2392 return this.getSuperFrontEndParameter().isException();
2393 }
2394
2395 /**
2396 * True if this parameter is an 'in' parameter.
2397 * @see org.andromda.metafacades.uml.ParameterFacade#isInParameter()
2398 */
2399 public boolean isInParameter()
2400 {
2401 return this.getSuperFrontEndParameter().isInParameter();
2402 }
2403
2404 /**
2405 * True if this parameter is an inout parameter.
2406 * @see org.andromda.metafacades.uml.ParameterFacade#isInoutParameter()
2407 */
2408 public boolean isInoutParameter()
2409 {
2410 return this.getSuperFrontEndParameter().isInoutParameter();
2411 }
2412
2413 /**
2414 * If upper>1 or upper==unlimited. Only applies to UML2. For UML14, always false.
2415 * @see org.andromda.metafacades.uml.ParameterFacade#isMany()
2416 */
2417 public boolean isMany()
2418 {
2419 return this.getSuperFrontEndParameter().isMany();
2420 }
2421
2422 /**
2423 * UML2 Only: Is parameter ordered within the Collection type. Ordered+Unique determines the
2424 * implementation Collection Type. For UML14, always false.
2425 * @see org.andromda.metafacades.uml.ParameterFacade#isOrdered()
2426 */
2427 public boolean isOrdered()
2428 {
2429 return this.getSuperFrontEndParameter().isOrdered();
2430 }
2431
2432 /**
2433 * True if this parameter is an 'out' parameter.
2434 * @see org.andromda.metafacades.uml.ParameterFacade#isOutParameter()
2435 */
2436 public boolean isOutParameter()
2437 {
2438 return this.getSuperFrontEndParameter().isOutParameter();
2439 }
2440
2441 /**
2442 * True if this parameter is readable, aka an in-parameter, or this feature is unspecified.
2443 * @see org.andromda.metafacades.uml.ParameterFacade#isReadable()
2444 */
2445 public boolean isReadable()
2446 {
2447 return this.getSuperFrontEndParameter().isReadable();
2448 }
2449
2450 /**
2451 * Whether or not this parameter is considered required (i.e must a non-empty value).
2452 * @see org.andromda.metafacades.uml.ParameterFacade#isRequired()
2453 */
2454 public boolean isRequired()
2455 {
2456 return this.getSuperFrontEndParameter().isRequired();
2457 }
2458
2459 /**
2460 * Whether or not this parameter represents a return parameter.
2461 * @see org.andromda.metafacades.uml.ParameterFacade#isReturn()
2462 */
2463 public boolean isReturn()
2464 {
2465 return this.getSuperFrontEndParameter().isReturn();
2466 }
2467
2468 /**
2469 * If Parameter type isMany (UML2), is the parameter unique within the Collection. Unique+Sorted
2470 * determines pareter implementation type. For UML14, always false.
2471 * @see org.andromda.metafacades.uml.ParameterFacade#isUnique()
2472 */
2473 public boolean isUnique()
2474 {
2475 return this.getSuperFrontEndParameter().isUnique();
2476 }
2477
2478 /**
2479 * True if this parameter is writable, aka an out-parameter, or this feature is unspecified.
2480 * @see org.andromda.metafacades.uml.ParameterFacade#isWritable()
2481 */
2482 public boolean isWritable()
2483 {
2484 return this.getSuperFrontEndParameter().isWritable();
2485 }
2486
2487 /**
2488 * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
2489 */
2490 @Override
2491 public void initialize()
2492 {
2493 this.getSuperFrontEndParameter().initialize();
2494 }
2495
2496 /**
2497 * @return Object getSuperFrontEndParameter().getValidationOwner()
2498 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
2499 */
2500 @Override
2501 public Object getValidationOwner()
2502 {
2503 Object owner = this.getSuperFrontEndParameter().getValidationOwner();
2504 return owner;
2505 }
2506
2507 /**
2508 * @return String getSuperFrontEndParameter().getValidationName()
2509 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
2510 */
2511 @Override
2512 public String getValidationName()
2513 {
2514 String name = this.getSuperFrontEndParameter().getValidationName();
2515 return name;
2516 }
2517
2518 /**
2519 * @param validationMessages Collection<ModelValidationMessage>
2520 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages)
2521 */
2522 @Override
2523 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
2524 {
2525 this.getSuperFrontEndParameter().validateInvariants(validationMessages);
2526 }
2527
2528 /**
2529 * The property that stores the name of the metafacade.
2530 */
2531 private static final String NAME_PROPERTY = "name";
2532 private static final String FQNAME_PROPERTY = "fullyQualifiedName";
2533
2534 /**
2535 * @see Object#toString()
2536 */
2537 @Override
2538 public String toString()
2539 {
2540 final StringBuilder toString = new StringBuilder(this.getClass().getName());
2541 toString.append("[");
2542 try
2543 {
2544 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
2545 }
2546 catch (final Throwable tryAgain)
2547 {
2548 try
2549 {
2550 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
2551 }
2552 catch (final Throwable ignore)
2553 {
2554 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
2555 }
2556 }
2557 toString.append("]");
2558 return toString.toString();
2559 }
2560 }