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