@@ -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