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