88import cz .habarta .typescript .generator .xmldoclet .Method ;
99import cz .habarta .typescript .generator .xmldoclet .Package ;
1010import cz .habarta .typescript .generator .xmldoclet .Root ;
11+ import cz .habarta .typescript .generator .xmldoclet .TagInfo ;
1112import java .io .File ;
1213import java .util .*;
1314import javax .xml .bind .JAXB ;
@@ -53,45 +54,50 @@ private BeanModel enrichBean(BeanModel bean) {
5354 if (bean .getBeanClass ().isInterface ()) {
5455 final Interface dInterface = findJavadocInterface (bean .getBeanClass (), dRoots );
5556 if (dInterface != null ) {
56- return enrichBean (bean , dInterface .getComment (), dInterface .getField (), dInterface .getMethod ());
57+ return enrichBean (bean , dInterface .getComment (), dInterface .getTag (), dInterface . getField (), dInterface .getMethod ());
5758 }
5859 } else {
5960 final Class dClass = findJavadocClass (bean .getBeanClass (), dRoots );
6061 if (dClass != null ) {
61- return enrichBean (bean , dClass .getComment (), dClass .getField (), dClass .getMethod ());
62+ return enrichBean (bean , dClass .getComment (), dClass .getTag (), dClass . getField (), dClass .getMethod ());
6263 }
6364 }
6465 return bean ;
6566 }
6667
67- private BeanModel enrichBean (BeanModel bean , String beanComment , List <Field > dFields , List <Method > dMethods ) {
68+ private BeanModel enrichBean (BeanModel bean , String beanComment , List <TagInfo > tags , List < Field > dFields , List <Method > dMethods ) {
6869 final List <PropertyModel > enrichedProperties = new ArrayList <>();
6970 for (PropertyModel property : bean .getProperties ()) {
7071 final PropertyModel enrichedProperty = enrichProperty (property , dFields , dMethods );
7172 enrichedProperties .add (enrichedProperty );
7273 }
73- return new BeanModel (bean .getBeanClass (), bean .getParent (), enrichedProperties , concat (getComments (beanComment ), bean .getComments ()));
74+ return new BeanModel (bean .getBeanClass (), bean .getParent (), enrichedProperties , concat (getComments (beanComment , tags ), bean .getComments ()));
7475 }
7576
7677 private PropertyModel enrichProperty (PropertyModel property , List <Field > dFields , List <Method > dMethods ) {
7778 final String propertyComment ;
79+ final List <TagInfo > tags ;
7880 if (property .getOriginalMember () instanceof java .lang .reflect .Method ) {
7981 final Method dMethod = findJavadocMethod (property .getOriginalMember ().getName (), dMethods );
8082 propertyComment = dMethod != null ? dMethod .getComment () : null ;
83+ tags = dMethod != null ? dMethod .getTag () : null ;
8184 } else if (property .getOriginalMember () instanceof java .lang .reflect .Field ) {
8285 final Field dField = findJavadocField (property .getOriginalMember ().getName (), dFields );
8386 propertyComment = dField != null ? dField .getComment () : null ;
87+ tags = dField != null ? dField .getTag () : null ;
8488 } else {
8589 final Field dField = findJavadocField (property .getName (), dFields );
8690 propertyComment = dField != null ? dField .getComment () : null ;
91+ tags = dField != null ? dField .getTag () : null ;
8792 }
88- return property .comments (getComments (propertyComment ));
93+ return property .comments (getComments (propertyComment , tags ));
8994 }
9095
9196 private EnumModel enrichEnum (EnumModel enumModel ) {
9297 final Enum dEnum = findJavadocEnum (enumModel .getEnumClass (), dRoots );
9398 final String enumComment = dEnum != null ? dEnum .getComment () : null ;
94- return new EnumModel (enumModel .getEnumClass (), enumModel .getValues (), concat (getComments (enumComment ), enumModel .getComments ()));
99+ final List <TagInfo > tags = dEnum != null ? dEnum .getTag () : null ;
100+ return new EnumModel (enumModel .getEnumClass (), enumModel .getValues (), concat (getComments (enumComment , tags ), enumModel .getComments ()));
95101 }
96102
97103 // finders
@@ -160,7 +166,7 @@ private static Enum findJavadocEnum(java.lang.Class<?> cls, List<Root> dRoots) {
160166 return null ;
161167 }
162168
163- private List <String > getComments (String dComments ) {
169+ private List <String > getComments (String dComments , List < TagInfo > tags ) {
164170 if (dComments == null ) {
165171 return null ;
166172 }
@@ -169,6 +175,9 @@ private List<String> getComments(String dComments) {
169175 for (String line : lines ) {
170176 result .add (line .trim ());
171177 }
178+ for (TagInfo tag : tags ) {
179+ result .add (tag .getName () + " " + tag .getText ());
180+ }
172181 return result ;
173182 }
174183
0 commit comments