Skip to content

Commit 1d6548a

Browse files
committed
- adds serialization of enums
1 parent 50c8357 commit 1d6548a

File tree

1 file changed

+32
-8
lines changed
  • typesummary/app/src/main/java/typesummary

1 file changed

+32
-8
lines changed

typesummary/app/src/main/java/typesummary/App.java

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,47 @@ public static void main(String[] args) throws Exception {
3232
methodsNameToSkip = Arrays.asList(mNames);
3333
final ILogWriter writer = new ConsoleLogWriter();
3434

35-
35+
36+
final List<String> classNames = getOrderedClassNames();
37+
serializeEnums(writer, classNames);
38+
serializeClasses(writer, classNames);
39+
}
40+
private static void serializeEnums(final ILogWriter writer, final List<String> classNames) throws Exception {
41+
for (String c : classNames) {
42+
Class<?> clazz = Class.forName(c);
43+
if(clazz.isEnum()) {
44+
writer.write("enum " + clazz.getName());
45+
serializeEnumValue(clazz.getEnumConstants(), writer);
46+
}
47+
}
48+
}
49+
private static void serializeEnumValue(final Object[] enumVals, final ILogWriter writer) {
50+
for(Object enumVal: enumVals) {
51+
writer.write(enumVal.toString(), 2);
52+
}
53+
}
54+
private static List<String> getOrderedClassNames() throws Exception {
3655
final Set<ClassInfo> classInfos = ClassPath.from(User.class.getClassLoader()).getTopLevelClassesRecursive("com.microsoft.graph");
3756
final List<String> classNames = classInfos.stream()
3857
.map(classInfo -> classInfo.getName())
3958
.distinct()
4059
.collect(Collectors.toList());
4160
classNames.sort(Comparator.naturalOrder());
61+
return classNames;
62+
}
63+
private static void serializeClasses(final ILogWriter writer, final List<String> classNames) throws Exception {
4264
for (String c : classNames) {
4365
Class<?> clazz = Class.forName(c);
44-
String classHeadLine = "class " + clazz.getName();
45-
Class<?> superClass = clazz.getSuperclass();
46-
if(superClass != null && superClass != Object.class) {
47-
classHeadLine += " : " + superClass.getName();
66+
if(!clazz.isEnum()) {
67+
String classHeadLine = "class " + clazz.getName();
68+
Class<?> superClass = clazz.getSuperclass();
69+
if(superClass != null && superClass != Object.class) {
70+
classHeadLine += " : " + superClass.getName();
71+
}
72+
writer.write(classHeadLine);
73+
serializeFields(clazz, writer);
74+
serializeMethods(clazz, writer);
4875
}
49-
writer.write(classHeadLine);
50-
serializeFields(clazz, writer);
51-
serializeMethods(clazz, writer);
5276
}
5377
}
5478
private static void serializeFields(final Class<?> clazz, final ILogWriter writer) {

0 commit comments

Comments
 (0)