1
2
3
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.ClassifierFacade;
14 import org.andromda.metafacades.uml.ConstraintFacade;
15 import org.andromda.metafacades.uml.DependencyFacade;
16 import org.andromda.metafacades.uml.FrontEndAction;
17 import org.andromda.metafacades.uml.FrontEndActivityGraph;
18 import org.andromda.metafacades.uml.FrontEndControllerOperation;
19 import org.andromda.metafacades.uml.FrontEndParameter;
20 import org.andromda.metafacades.uml.ModelElementFacade;
21 import org.andromda.metafacades.uml.ModelFacade;
22 import org.andromda.metafacades.uml.OperationFacade;
23 import org.andromda.metafacades.uml.PackageFacade;
24 import org.andromda.metafacades.uml.ParameterFacade;
25 import org.andromda.metafacades.uml.StateMachineFacade;
26 import org.andromda.metafacades.uml.StereotypeFacade;
27 import org.andromda.metafacades.uml.TaggedValueFacade;
28 import org.andromda.metafacades.uml.TemplateParameterFacade;
29 import org.andromda.metafacades.uml.TypeMappings;
30
31
32
33
34
35
36
37 public abstract class JSFControllerOperationLogic
38 extends MetafacadeBase
39 implements JSFControllerOperation
40 {
41
42
43
44
45 protected Object metaObject;
46
47
48
49
50
51 protected JSFControllerOperationLogic(Object metaObjectIn, String context)
52 {
53 super(metaObjectIn, getContext(context));
54 this.superFrontEndControllerOperation =
55 (FrontEndControllerOperation)
56 MetafacadeFactory.getInstance().createFacadeImpl(
57 "org.andromda.metafacades.uml.FrontEndControllerOperation",
58 metaObjectIn,
59 getContext(context));
60 this.metaObject = metaObjectIn;
61 }
62
63
64
65
66
67
68 private static String getContext(String context)
69 {
70 if (context == null)
71 {
72 context = "org.andromda.cartridges.jsf2.metafacades.JSFControllerOperation";
73 }
74 return context;
75 }
76
77 private FrontEndControllerOperation superFrontEndControllerOperation;
78 private boolean superFrontEndControllerOperationInitialized = false;
79
80
81
82
83
84 private FrontEndControllerOperation getSuperFrontEndControllerOperation()
85 {
86 if (!this.superFrontEndControllerOperationInitialized)
87 {
88 ((MetafacadeBase)this.superFrontEndControllerOperation).setMetafacadeContext(this.getMetafacadeContext());
89 this.superFrontEndControllerOperationInitialized = true;
90 }
91 return this.superFrontEndControllerOperation;
92 }
93
94
95
96
97
98 @Override
99 public void resetMetafacadeContext(String context)
100 {
101 if (!this.contextRoot)
102 {
103 context = getContext(context);
104 setMetafacadeContext (context);
105 if (this.superFrontEndControllerOperationInitialized)
106 {
107 ((MetafacadeBase)this.superFrontEndControllerOperation).resetMetafacadeContext(context);
108 }
109 }
110 }
111
112
113
114
115
116 public boolean isJSFControllerOperationMetaType()
117 {
118 return true;
119 }
120
121
122
123
124
125
126
127 protected abstract String handleGetFullyQualifiedFormPath();
128
129 private String __fullyQualifiedFormPath1a;
130 private boolean __fullyQualifiedFormPath1aSet = false;
131
132
133
134
135
136 public final String getFullyQualifiedFormPath()
137 {
138 String fullyQualifiedFormPath1a = this.__fullyQualifiedFormPath1a;
139 if (!this.__fullyQualifiedFormPath1aSet)
140 {
141
142 fullyQualifiedFormPath1a = handleGetFullyQualifiedFormPath();
143
144 this.__fullyQualifiedFormPath1a = fullyQualifiedFormPath1a;
145 if (isMetafacadePropertyCachingEnabled())
146 {
147 this.__fullyQualifiedFormPath1aSet = true;
148 }
149 }
150 return fullyQualifiedFormPath1a;
151 }
152
153
154
155
156
157 protected abstract String handleGetFullyQualifiedFormName();
158
159 private String __fullyQualifiedFormName2a;
160 private boolean __fullyQualifiedFormName2aSet = false;
161
162
163
164
165
166 public final String getFullyQualifiedFormName()
167 {
168 String fullyQualifiedFormName2a = this.__fullyQualifiedFormName2a;
169 if (!this.__fullyQualifiedFormName2aSet)
170 {
171
172 fullyQualifiedFormName2a = handleGetFullyQualifiedFormName();
173
174 this.__fullyQualifiedFormName2a = fullyQualifiedFormName2a;
175 if (isMetafacadePropertyCachingEnabled())
176 {
177 this.__fullyQualifiedFormName2aSet = true;
178 }
179 }
180 return fullyQualifiedFormName2a;
181 }
182
183
184
185
186
187 protected abstract String handleGetFormName();
188
189 private String __formName3a;
190 private boolean __formName3aSet = false;
191
192
193
194
195
196 public final String getFormName()
197 {
198 String formName3a = this.__formName3a;
199 if (!this.__formName3aSet)
200 {
201
202 formName3a = handleGetFormName();
203
204 this.__formName3a = formName3a;
205 if (isMetafacadePropertyCachingEnabled())
206 {
207 this.__formName3aSet = true;
208 }
209 }
210 return formName3a;
211 }
212
213
214
215
216
217 protected abstract String handleGetFormCall();
218
219 private String __formCall4a;
220 private boolean __formCall4aSet = false;
221
222
223
224
225
226 public final String getFormCall()
227 {
228 String formCall4a = this.__formCall4a;
229 if (!this.__formCall4aSet)
230 {
231
232 formCall4a = handleGetFormCall();
233
234 this.__formCall4a = formCall4a;
235 if (isMetafacadePropertyCachingEnabled())
236 {
237 this.__formCall4aSet = true;
238 }
239 }
240 return formCall4a;
241 }
242
243
244
245
246
247 protected abstract String handleGetFormSignature();
248
249 private String __formSignature5a;
250 private boolean __formSignature5aSet = false;
251
252
253
254
255
256
257 public final String getFormSignature()
258 {
259 String formSignature5a = this.__formSignature5a;
260 if (!this.__formSignature5aSet)
261 {
262
263 formSignature5a = handleGetFormSignature();
264
265 this.__formSignature5a = formSignature5a;
266 if (isMetafacadePropertyCachingEnabled())
267 {
268 this.__formSignature5aSet = true;
269 }
270 }
271 return formSignature5a;
272 }
273
274
275
276
277
278 protected abstract String handleGetImplementationFormSignature();
279
280 private String __implementationFormSignature6a;
281 private boolean __implementationFormSignature6aSet = false;
282
283
284
285
286
287
288 public final String getImplementationFormSignature()
289 {
290 String implementationFormSignature6a = this.__implementationFormSignature6a;
291 if (!this.__implementationFormSignature6aSet)
292 {
293
294 implementationFormSignature6a = handleGetImplementationFormSignature();
295
296 this.__implementationFormSignature6a = implementationFormSignature6a;
297 if (isMetafacadePropertyCachingEnabled())
298 {
299 this.__implementationFormSignature6aSet = true;
300 }
301 }
302 return implementationFormSignature6a;
303 }
304
305
306
307
308
309 public boolean isFrontEndControllerOperationMetaType()
310 {
311 return true;
312 }
313
314
315
316
317
318 public boolean isOperationFacadeMetaType()
319 {
320 return true;
321 }
322
323
324
325
326
327 public boolean isModelElementFacadeMetaType()
328 {
329 return true;
330 }
331
332
333
334
335
336
337 public FrontEndActivityGraph getActivityGraph()
338 {
339 return this.getSuperFrontEndControllerOperation().getActivityGraph();
340 }
341
342
343
344
345
346
347 public List<FrontEndAction> getDeferringActions()
348 {
349 return this.getSuperFrontEndControllerOperation().getDeferringActions();
350 }
351
352
353
354
355
356 public List<FrontEndParameter> getFormFields()
357 {
358 return this.getSuperFrontEndControllerOperation().getFormFields();
359 }
360
361
362
363
364
365
366
367 public boolean isAllArgumentsHaveFormFields()
368 {
369 return this.getSuperFrontEndControllerOperation().isAllArgumentsHaveFormFields();
370 }
371
372
373
374
375
376 public boolean isOwnerIsController()
377 {
378 return this.getSuperFrontEndControllerOperation().isOwnerIsController();
379 }
380
381
382
383
384
385 public void copyTaggedValues(ModelElementFacade element)
386 {
387 this.getSuperFrontEndControllerOperation().copyTaggedValues(element);
388 }
389
390
391
392
393
394
395 public Object findTaggedValue(String tagName)
396 {
397 return this.getSuperFrontEndControllerOperation().findTaggedValue(tagName);
398 }
399
400
401
402
403
404
405 public Collection<Object> findTaggedValues(String tagName)
406 {
407 return this.getSuperFrontEndControllerOperation().findTaggedValues(tagName);
408 }
409
410
411
412
413
414
415
416 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
417 {
418 return this.getSuperFrontEndControllerOperation().getBindedFullyQualifiedName(bindedElement);
419 }
420
421
422
423
424
425 public Collection<ConstraintFacade> getConstraints()
426 {
427 return this.getSuperFrontEndControllerOperation().getConstraints();
428 }
429
430
431
432
433
434
435 public Collection<ConstraintFacade> getConstraints(String kind)
436 {
437 return this.getSuperFrontEndControllerOperation().getConstraints(kind);
438 }
439
440
441
442
443
444
445
446 public String getDocumentation(String indent)
447 {
448 return this.getSuperFrontEndControllerOperation().getDocumentation(indent);
449 }
450
451
452
453
454
455
456
457
458 public String getDocumentation(String indent, int lineLength)
459 {
460 return this.getSuperFrontEndControllerOperation().getDocumentation(indent, lineLength);
461 }
462
463
464
465
466
467
468
469 public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
470 {
471 return this.getSuperFrontEndControllerOperation().getDocumentation(indent, lineLength, htmlStyle);
472 }
473
474
475
476
477
478 public String getFullyQualifiedName()
479 {
480 return this.getSuperFrontEndControllerOperation().getFullyQualifiedName();
481 }
482
483
484
485
486
487
488
489
490 public String getFullyQualifiedName(boolean modelName)
491 {
492 return this.getSuperFrontEndControllerOperation().getFullyQualifiedName(modelName);
493 }
494
495
496
497
498
499
500 public String getFullyQualifiedNamePath()
501 {
502 return this.getSuperFrontEndControllerOperation().getFullyQualifiedNamePath();
503 }
504
505
506
507
508
509 public String getId()
510 {
511 return this.getSuperFrontEndControllerOperation().getId();
512 }
513
514
515
516
517
518
519
520
521
522 public Collection<String> getKeywords()
523 {
524 return this.getSuperFrontEndControllerOperation().getKeywords();
525 }
526
527
528
529
530
531 public String getLabel()
532 {
533 return this.getSuperFrontEndControllerOperation().getLabel();
534 }
535
536
537
538
539
540 public TypeMappings getLanguageMappings()
541 {
542 return this.getSuperFrontEndControllerOperation().getLanguageMappings();
543 }
544
545
546
547
548
549
550 public ModelFacade getModel()
551 {
552 return this.getSuperFrontEndControllerOperation().getModel();
553 }
554
555
556
557
558
559 public String getName()
560 {
561 return this.getSuperFrontEndControllerOperation().getName();
562 }
563
564
565
566
567
568 public ModelElementFacade getPackage()
569 {
570 return this.getSuperFrontEndControllerOperation().getPackage();
571 }
572
573
574
575
576
577 public String getPackageName()
578 {
579 return this.getSuperFrontEndControllerOperation().getPackageName();
580 }
581
582
583
584
585
586
587 public String getPackageName(boolean modelName)
588 {
589 return this.getSuperFrontEndControllerOperation().getPackageName(modelName);
590 }
591
592
593
594
595
596 public String getPackagePath()
597 {
598 return this.getSuperFrontEndControllerOperation().getPackagePath();
599 }
600
601
602
603
604
605
606
607
608 public String getQualifiedName()
609 {
610 return this.getSuperFrontEndControllerOperation().getQualifiedName();
611 }
612
613
614
615
616
617 public PackageFacade getRootPackage()
618 {
619 return this.getSuperFrontEndControllerOperation().getRootPackage();
620 }
621
622
623
624
625
626 public Collection<DependencyFacade> getSourceDependencies()
627 {
628 return this.getSuperFrontEndControllerOperation().getSourceDependencies();
629 }
630
631
632
633
634
635
636 public StateMachineFacade getStateMachineContext()
637 {
638 return this.getSuperFrontEndControllerOperation().getStateMachineContext();
639 }
640
641
642
643
644
645 public Collection<String> getStereotypeNames()
646 {
647 return this.getSuperFrontEndControllerOperation().getStereotypeNames();
648 }
649
650
651
652
653
654 public Collection<StereotypeFacade> getStereotypes()
655 {
656 return this.getSuperFrontEndControllerOperation().getStereotypes();
657 }
658
659
660
661
662
663 public Collection<TaggedValueFacade> getTaggedValues()
664 {
665 return this.getSuperFrontEndControllerOperation().getTaggedValues();
666 }
667
668
669
670
671
672 public Collection<DependencyFacade> getTargetDependencies()
673 {
674 return this.getSuperFrontEndControllerOperation().getTargetDependencies();
675 }
676
677
678
679
680
681 public Object getTemplateParameter(String parameterName)
682 {
683 return this.getSuperFrontEndControllerOperation().getTemplateParameter(parameterName);
684 }
685
686
687
688
689
690 public Collection<TemplateParameterFacade> getTemplateParameters()
691 {
692 return this.getSuperFrontEndControllerOperation().getTemplateParameters();
693 }
694
695
696
697
698
699
700 public String getVisibility()
701 {
702 return this.getSuperFrontEndControllerOperation().getVisibility();
703 }
704
705
706
707
708
709
710 public boolean hasExactStereotype(String stereotypeName)
711 {
712 return this.getSuperFrontEndControllerOperation().hasExactStereotype(stereotypeName);
713 }
714
715
716
717
718
719
720 public boolean hasKeyword(String keywordName)
721 {
722 return this.getSuperFrontEndControllerOperation().hasKeyword(keywordName);
723 }
724
725
726
727
728
729
730
731
732
733
734
735
736
737 public boolean hasStereotype(String stereotypeName)
738 {
739 return this.getSuperFrontEndControllerOperation().hasStereotype(stereotypeName);
740 }
741
742
743
744
745
746
747 public boolean isBindingDependenciesPresent()
748 {
749 return this.getSuperFrontEndControllerOperation().isBindingDependenciesPresent();
750 }
751
752
753
754
755
756 public boolean isConstraintsPresent()
757 {
758 return this.getSuperFrontEndControllerOperation().isConstraintsPresent();
759 }
760
761
762
763
764
765 public boolean isDocumentationPresent()
766 {
767 return this.getSuperFrontEndControllerOperation().isDocumentationPresent();
768 }
769
770
771
772
773
774 public boolean isReservedWord()
775 {
776 return this.getSuperFrontEndControllerOperation().isReservedWord();
777 }
778
779
780
781
782
783
784 public boolean isTemplateParametersPresent()
785 {
786 return this.getSuperFrontEndControllerOperation().isTemplateParametersPresent();
787 }
788
789
790
791
792
793
794
795 public boolean isValidIdentifierName()
796 {
797 return this.getSuperFrontEndControllerOperation().isValidIdentifierName();
798 }
799
800
801
802
803
804
805
806 public String translateConstraint(String name, String translation)
807 {
808 return this.getSuperFrontEndControllerOperation().translateConstraint(name, translation);
809 }
810
811
812
813
814
815 public String[] translateConstraints(String translation)
816 {
817 return this.getSuperFrontEndControllerOperation().translateConstraints(translation);
818 }
819
820
821
822
823
824 public String[] translateConstraints(String kind, String translation)
825 {
826 return this.getSuperFrontEndControllerOperation().translateConstraints(kind, translation);
827 }
828
829
830
831
832
833
834 public ParameterFacade findParameter(String name)
835 {
836 return this.getSuperFrontEndControllerOperation().findParameter(name);
837 }
838
839
840
841
842
843
844
845 public Object findTaggedValue(String name, boolean follow)
846 {
847 return this.getSuperFrontEndControllerOperation().findTaggedValue(name, follow);
848 }
849
850
851
852
853
854 public String getArgumentNames()
855 {
856 return this.getSuperFrontEndControllerOperation().getArgumentNames();
857 }
858
859
860
861
862
863 public String getArgumentTypeNames()
864 {
865 return this.getSuperFrontEndControllerOperation().getArgumentTypeNames();
866 }
867
868
869
870
871
872
873
874
875
876 public Collection<ParameterFacade> getArguments()
877 {
878 return this.getSuperFrontEndControllerOperation().getArguments();
879 }
880
881
882
883
884
885 public String getCall()
886 {
887 return this.getSuperFrontEndControllerOperation().getCall();
888 }
889
890
891
892
893
894
895
896 public String getConcurrency()
897 {
898 return this.getSuperFrontEndControllerOperation().getConcurrency();
899 }
900
901
902
903
904
905
906 public String getExceptionList()
907 {
908 return this.getSuperFrontEndControllerOperation().getExceptionList();
909 }
910
911
912
913
914
915
916 public String getExceptionList(String initialExceptions)
917 {
918 return this.getSuperFrontEndControllerOperation().getExceptionList(initialExceptions);
919 }
920
921
922
923
924
925 public Collection<ModelElementFacade> getExceptions()
926 {
927 return this.getSuperFrontEndControllerOperation().getExceptions();
928 }
929
930
931
932
933
934 public String getGetterSetterReturnTypeName()
935 {
936 return this.getSuperFrontEndControllerOperation().getGetterSetterReturnTypeName();
937 }
938
939
940
941
942
943
944 public int getLower()
945 {
946 return this.getSuperFrontEndControllerOperation().getLower();
947 }
948
949
950
951
952
953 public String getMethodBody()
954 {
955 return this.getSuperFrontEndControllerOperation().getMethodBody();
956 }
957
958
959
960
961
962 public OperationFacade getOverriddenOperation()
963 {
964 return this.getSuperFrontEndControllerOperation().getOverriddenOperation();
965 }
966
967
968
969
970
971 public ClassifierFacade getOwner()
972 {
973 return this.getSuperFrontEndControllerOperation().getOwner();
974 }
975
976
977
978
979
980 public Collection<ParameterFacade> getParameters()
981 {
982 return this.getSuperFrontEndControllerOperation().getParameters();
983 }
984
985
986
987
988
989 public String getPostconditionName()
990 {
991 return this.getSuperFrontEndControllerOperation().getPostconditionName();
992 }
993
994
995
996
997
998 public Collection<ConstraintFacade> getPostconditions()
999 {
1000 return this.getSuperFrontEndControllerOperation().getPostconditions();
1001 }
1002
1003
1004
1005
1006
1007 public String getPreconditionCall()
1008 {
1009 return this.getSuperFrontEndControllerOperation().getPreconditionCall();
1010 }
1011
1012
1013
1014
1015
1016 public String getPreconditionName()
1017 {
1018 return this.getSuperFrontEndControllerOperation().getPreconditionName();
1019 }
1020
1021
1022
1023
1024
1025 public String getPreconditionSignature()
1026 {
1027 return this.getSuperFrontEndControllerOperation().getPreconditionSignature();
1028 }
1029
1030
1031
1032
1033
1034 public Collection<ConstraintFacade> getPreconditions()
1035 {
1036 return this.getSuperFrontEndControllerOperation().getPreconditions();
1037 }
1038
1039
1040
1041
1042
1043 public ParameterFacade getReturnParameter()
1044 {
1045 return this.getSuperFrontEndControllerOperation().getReturnParameter();
1046 }
1047
1048
1049
1050
1051
1052 public ClassifierFacade getReturnType()
1053 {
1054 return this.getSuperFrontEndControllerOperation().getReturnType();
1055 }
1056
1057
1058
1059
1060
1061
1062 public String getSignature()
1063 {
1064 return this.getSuperFrontEndControllerOperation().getSignature();
1065 }
1066
1067
1068
1069
1070
1071
1072
1073 public String getSignature(boolean withArgumentNames)
1074 {
1075 return this.getSuperFrontEndControllerOperation().getSignature(withArgumentNames);
1076 }
1077
1078
1079
1080
1081
1082
1083 public String getSignature(String argumentModifier)
1084 {
1085 return this.getSuperFrontEndControllerOperation().getSignature(argumentModifier);
1086 }
1087
1088
1089
1090
1091
1092 public String getTypedArgumentList()
1093 {
1094 return this.getSuperFrontEndControllerOperation().getTypedArgumentList();
1095 }
1096
1097
1098
1099
1100
1101
1102 public String getTypedArgumentList(String modifier)
1103 {
1104 return this.getSuperFrontEndControllerOperation().getTypedArgumentList(modifier);
1105 }
1106
1107
1108
1109
1110
1111
1112 public int getUpper()
1113 {
1114 return this.getSuperFrontEndControllerOperation().getUpper();
1115 }
1116
1117
1118
1119
1120
1121 public boolean isAbstract()
1122 {
1123 return this.getSuperFrontEndControllerOperation().isAbstract();
1124 }
1125
1126
1127
1128
1129
1130 public boolean isExceptionsPresent()
1131 {
1132 return this.getSuperFrontEndControllerOperation().isExceptionsPresent();
1133 }
1134
1135
1136
1137
1138
1139
1140 public boolean isLeaf()
1141 {
1142 return this.getSuperFrontEndControllerOperation().isLeaf();
1143 }
1144
1145
1146
1147
1148
1149
1150 public boolean isMany()
1151 {
1152 return this.getSuperFrontEndControllerOperation().isMany();
1153 }
1154
1155
1156
1157
1158
1159
1160 public boolean isOrdered()
1161 {
1162 return this.getSuperFrontEndControllerOperation().isOrdered();
1163 }
1164
1165
1166
1167
1168
1169
1170
1171 public boolean isOverriding()
1172 {
1173 return this.getSuperFrontEndControllerOperation().isOverriding();
1174 }
1175
1176
1177
1178
1179
1180 public boolean isPostconditionsPresent()
1181 {
1182 return this.getSuperFrontEndControllerOperation().isPostconditionsPresent();
1183 }
1184
1185
1186
1187
1188
1189 public boolean isPreconditionsPresent()
1190 {
1191 return this.getSuperFrontEndControllerOperation().isPreconditionsPresent();
1192 }
1193
1194
1195
1196
1197
1198 public boolean isQuery()
1199 {
1200 return this.getSuperFrontEndControllerOperation().isQuery();
1201 }
1202
1203
1204
1205
1206
1207
1208 public boolean isReturnTypePresent()
1209 {
1210 return this.getSuperFrontEndControllerOperation().isReturnTypePresent();
1211 }
1212
1213
1214
1215
1216
1217 public boolean isStatic()
1218 {
1219 return this.getSuperFrontEndControllerOperation().isStatic();
1220 }
1221
1222
1223
1224
1225
1226
1227 public boolean isUnique()
1228 {
1229 return this.getSuperFrontEndControllerOperation().isUnique();
1230 }
1231
1232
1233
1234
1235 @Override
1236 public void initialize()
1237 {
1238 this.getSuperFrontEndControllerOperation().initialize();
1239 }
1240
1241
1242
1243
1244
1245 @Override
1246 public Object getValidationOwner()
1247 {
1248 Object owner = this.getSuperFrontEndControllerOperation().getValidationOwner();
1249 return owner;
1250 }
1251
1252
1253
1254
1255
1256 @Override
1257 public String getValidationName()
1258 {
1259 String name = this.getSuperFrontEndControllerOperation().getValidationName();
1260 return name;
1261 }
1262
1263
1264
1265
1266
1267 @Override
1268 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
1269 {
1270 this.getSuperFrontEndControllerOperation().validateInvariants(validationMessages);
1271 }
1272
1273
1274
1275
1276 private static final String NAME_PROPERTY = "name";
1277 private static final String FQNAME_PROPERTY = "fullyQualifiedName";
1278
1279
1280
1281
1282 @Override
1283 public String toString()
1284 {
1285 final StringBuilder toString = new StringBuilder(this.getClass().getName());
1286 toString.append("[");
1287 try
1288 {
1289 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
1290 }
1291 catch (final Throwable tryAgain)
1292 {
1293 try
1294 {
1295 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
1296 }
1297 catch (final Throwable ignore)
1298 {
1299
1300 }
1301 }
1302 toString.append("]");
1303 return toString.toString();
1304 }
1305 }