Skip to content

Commit 10a64d9

Browse files
refactoring: added DeclarationModel base class
1 parent 29a5900 commit 10a64d9

File tree

8 files changed

+49
-46
lines changed

8 files changed

+49
-46
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelCompiler.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ private TsModel processModel(SymbolTable symbolTable, Model model) {
7171
}
7272

7373
private TsBeanModel processBean(SymbolTable symbolTable, BeanModel bean) {
74-
final TsType beanType = typeFromJava(symbolTable, bean.getBeanClass());
74+
final TsType beanType = typeFromJava(symbolTable, bean.getOrigin());
7575
TsType parentType = typeFromJava(symbolTable, bean.getParent());
7676
if (parentType != null && parentType.equals(TsType.Any)) {
7777
parentType = null;
@@ -87,18 +87,18 @@ private TsBeanModel processBean(SymbolTable symbolTable, BeanModel bean) {
8787
for (PropertyModel property : bean.getProperties()) {
8888
properties.add(processProperty(symbolTable, bean, property));
8989
}
90-
return new TsBeanModel(bean.getBeanClass(), beanType, parentType, interfaces, properties, bean.getComments());
90+
return new TsBeanModel(bean.getOrigin(), beanType, parentType, interfaces, properties, bean.getComments());
9191
}
9292

9393
private TsPropertyModel processProperty(SymbolTable symbolTable, BeanModel bean, PropertyModel property) {
94-
final TsType type = typeFromJava(symbolTable, property.getType(), property.getName(), bean.getBeanClass());
94+
final TsType type = typeFromJava(symbolTable, property.getType(), property.getName(), bean.getOrigin());
9595
final TsType tsType = property.isOptional() ? type.optional() : type;
9696
return new TsPropertyModel(property.getName(), tsType, property.getComments());
9797
}
9898

9999
private TsEnumModel processEnum(SymbolTable symbolTable, EnumModel enumModel) {
100-
final TsType enumType = typeFromJava(symbolTable, enumModel.getEnumClass());
101-
return new TsEnumModel(enumModel.getEnumClass(), enumType, enumModel.getComments(), new ArrayList<>(enumModel.getValues()));
100+
final TsType enumType = typeFromJava(symbolTable, enumModel.getOrigin());
101+
return new TsEnumModel(enumModel.getOrigin(), enumType, enumModel.getComments(), new ArrayList<>(enumModel.getValues()));
102102
}
103103

104104
private TsType typeFromJava(SymbolTable symbolTable, Type javaType) {

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/BeanModel.java

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,21 @@
55
import java.util.List;
66

77

8-
public class BeanModel {
8+
public class BeanModel extends DeclarationModel {
99

10-
private final Class<?> beanClass;
1110
private final Type parent;
1211
private final List<Type> interfaces;
1312
private final List<PropertyModel> properties;
14-
private final List<String> comments;
1513

16-
public BeanModel(Class<?> beanClass, Type parent, List<Type> interfaces, List<PropertyModel> properties) {
17-
this(beanClass, parent, interfaces, properties, null);
14+
public BeanModel(Class<?> origin, Type parent, List<Type> interfaces, List<PropertyModel> properties) {
15+
this(origin, parent, interfaces, properties, null);
1816
}
1917

20-
public BeanModel(Class<?> beanClass, Type parent, List<Type> interfaces, List<PropertyModel> properties, List<String> comments) {
21-
this.beanClass = beanClass;
18+
public BeanModel(Class<?> origin, Type parent, List<Type> interfaces, List<PropertyModel> properties, List<String> comments) {
19+
super (origin, comments);
2220
this.parent = parent;
2321
this.interfaces = interfaces;
2422
this.properties = properties;
25-
this.comments = comments;
26-
}
27-
28-
public Class<?> getBeanClass() {
29-
return beanClass;
3023
}
3124

3225
public Type getParent() {
@@ -41,13 +34,9 @@ public List<PropertyModel> getProperties() {
4134
return properties;
4235
}
4336

44-
public List<String> getComments() {
45-
return comments;
46-
}
47-
4837
@Override
4938
public String toString() {
50-
return "BeanModel{" + "beanClass=" + beanClass + ", properties=" + properties + '}';
39+
return "BeanModel{" + "origin=" + getOrigin() + ", properties=" + properties + '}';
5140
}
5241

5342
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
package cz.habarta.typescript.generator.parser;
3+
4+
import java.util.List;
5+
6+
7+
public class DeclarationModel {
8+
9+
private final Class<?> origin;
10+
private final List<String> comments;
11+
12+
public DeclarationModel(Class<?> origin, List<String> comments) {
13+
this.origin = origin;
14+
this.comments = comments;
15+
}
16+
17+
public Class<?> getOrigin() {
18+
return origin;
19+
}
20+
21+
public List<String> getComments() {
22+
return comments;
23+
}
24+
25+
}

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/EnumModel.java

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,17 @@
44
import java.util.*;
55

66

7-
public class EnumModel {
7+
public class EnumModel extends DeclarationModel {
88

9-
private final Class<?> enumClass;
109
private final List<String> values;
11-
private final List<String> comments;
1210

13-
public EnumModel(Class<?> enumClass, List<String> values, List<String> comments) {
14-
this.enumClass = enumClass;
11+
public EnumModel(Class<?> origin, List<String> values, List<String> comments) {
12+
super (origin, comments);
1513
this.values = values;
16-
this.comments = comments;
17-
}
18-
19-
public Class<?> getEnumClass() {
20-
return enumClass;
2114
}
2215

2316
public List<String> getValues() {
2417
return values;
2518
}
2619

27-
public List<String> getComments() {
28-
return comments;
29-
}
30-
3120
}

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@ public Model enrichModel(Model model) {
5151
}
5252

5353
private BeanModel enrichBean(BeanModel bean) {
54-
if (bean.getBeanClass().isInterface()) {
55-
final Interface dInterface = findJavadocInterface(bean.getBeanClass(), dRoots);
54+
if (bean.getOrigin().isInterface()) {
55+
final Interface dInterface = findJavadocInterface(bean.getOrigin(), dRoots);
5656
if (dInterface != null) {
5757
return enrichBean(bean, dInterface.getComment(), dInterface.getTag(), dInterface.getField(), dInterface.getMethod());
5858
}
5959
} else {
60-
final Class dClass = findJavadocClass(bean.getBeanClass(), dRoots);
60+
final Class dClass = findJavadocClass(bean.getOrigin(), dRoots);
6161
if (dClass != null) {
6262
return enrichBean(bean, dClass.getComment(), dClass.getTag(), dClass.getField(), dClass.getMethod());
6363
}
@@ -71,7 +71,7 @@ private BeanModel enrichBean(BeanModel bean, String beanComment, List<TagInfo> t
7171
final PropertyModel enrichedProperty = enrichProperty(property, dFields, dMethods);
7272
enrichedProperties.add(enrichedProperty);
7373
}
74-
return new BeanModel(bean.getBeanClass(), bean.getParent(), bean.getInterfaces(), enrichedProperties, concat(getComments(beanComment, tags), bean.getComments()));
74+
return new BeanModel(bean.getOrigin(), bean.getParent(), bean.getInterfaces(), enrichedProperties, concat(getComments(beanComment, tags), bean.getComments()));
7575
}
7676

7777
private PropertyModel enrichProperty(PropertyModel property, List<Field> dFields, List<Method> dMethods) {
@@ -94,10 +94,10 @@ private PropertyModel enrichProperty(PropertyModel property, List<Field> dFields
9494
}
9595

9696
private EnumModel enrichEnum(EnumModel enumModel) {
97-
final Enum dEnum = findJavadocEnum(enumModel.getEnumClass(), dRoots);
97+
final Enum dEnum = findJavadocEnum(enumModel.getOrigin(), dRoots);
9898
final String enumComment = dEnum != null ? dEnum.getComment() : null;
9999
final List<TagInfo> tags = dEnum != null ? dEnum.getTag() : null;
100-
return new EnumModel(enumModel.getEnumClass(), enumModel.getValues(), concat(getComments(enumComment, tags), enumModel.getComments()));
100+
return new EnumModel(enumModel.getOrigin(), enumModel.getValues(), concat(getComments(enumComment, tags), enumModel.getComments()));
101101
}
102102

103103
// finders

typescript-generator-core/src/test/java/cz/habarta/typescript/generator/Jackson1ParserTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public void test() {
1616
Assert.assertTrue(model.getBeans().size() > 0);
1717
final BeanModel beanModel = model.getBeans().get(0);
1818
System.out.println("beanModel: " + beanModel);
19-
Assert.assertEquals("DummyBean", beanModel.getBeanClass().getSimpleName());
19+
Assert.assertEquals("DummyBean", beanModel.getOrigin().getSimpleName());
2020
Assert.assertTrue(beanModel.getProperties().size() > 0);
2121
Assert.assertEquals("firstProperty", beanModel.getProperties().get(0).getName());
2222
}

typescript-generator-core/src/test/java/cz/habarta/typescript/generator/Jackson2ParserTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public void test() {
1616
final Model model = jacksonParser.parseModel(bean);
1717
Assert.assertTrue(model.getBeans().size() > 0);
1818
final BeanModel beanModel = model.getBeans().get(0);
19-
Assert.assertEquals("DummyBean", beanModel.getBeanClass().getSimpleName());
19+
Assert.assertEquals("DummyBean", beanModel.getOrigin().getSimpleName());
2020
Assert.assertTrue(beanModel.getProperties().size() > 0);
2121
Assert.assertEquals("firstProperty", beanModel.getProperties().get(0).getName());
2222
}
@@ -27,7 +27,7 @@ public void testChangedNameProperty() {
2727
final Model model = jacksonParser.parseModel(DummyBeanJackson2.class);
2828
Assert.assertTrue(model.getBeans().size() > 0);
2929
final BeanModel beanModel = model.getBeans().get(0);
30-
Assert.assertEquals("DummyBeanJackson2", beanModel.getBeanClass().getSimpleName());
30+
Assert.assertEquals("DummyBeanJackson2", beanModel.getOrigin().getSimpleName());
3131
Assert.assertTrue(beanModel.getProperties().size() > 0);
3232
Assert.assertEquals("changedNameProperty", beanModel.getProperties().get(0).getName());
3333
}

typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JaxrsApplicationScannerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ private void testWithParsing(String applicationClass) {
5252
final Model model = new TypeScriptGenerator(TestUtils.settings()).getModelParser().parseModel(types);
5353
final ArrayList<Class<?>> classes = new ArrayList<>();
5454
for (BeanModel beanModel : model.getBeans()) {
55-
classes.add(beanModel.getBeanClass());
55+
classes.add(beanModel.getOrigin());
5656
}
5757
final List<Class<?>> expectedClasses = Arrays.asList(
5858
A.class,

0 commit comments

Comments
 (0)