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