forked from Agrasha-Janarthanan/MyJobs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMyJavaP.java
More file actions
105 lines (71 loc) · 2.44 KB
/
Copy pathMyJavaP.java
File metadata and controls
105 lines (71 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package com.ofs.training;
import java.lang.reflect.Modifier;
public class MyJavaP {
public static void main(String[] args) {
String classPackage = args[0];
Class clazz= loadClass(classPackage);
printClassDetails(clazz);
}
private static void printClassDetails(Class clazz) {
System.out.println("Compiled from " + "\"" + clazz.getSimpleName() + ".java" + "\"");
//print superclass
printSuperClass(clazz);
//print Interfaces
printInterface(clazz);
//print Constructors
printConstructor(clazz);
//print Fields
printField(clazz);
//print Methods
printMethod(clazz);
}
private static void printSuperClass(Class clazz) {
Class<?> classSuperClass = clazz.getSuperclass();
StringBuilder sb = new StringBuilder();
sb.append(classSuperClass);
System.out.println("," + sb );
}
private static void printMethod(Class clazz) {
// TODO Auto-generated method stub
}
private static void printField(Class clazz) {
// TODO Auto-generated method stub
}
private static void printConstructor(Class clazz) {
// TODO Auto-generated method stub
}
private static void printInterface(Class clazz) {
//getModifier()
int modifier = clazz.getModifiers();
String classModifier = getModifier(modifier);
System.out.println(classModifier + "class " + clazz.getName());
Class<?> classInterfaces[] = clazz.getInterfaces();
if (classInterfaces.length > 0) {
System.out.println("implements");
StringBuilder sb = new StringBuilder();
for ( Class<?> classInterface : classInterfaces) {
sb.append(classInterface);
System.out.println("," + sb );
}
}
}
private static String getModifier(int modifier) {
// TODO Auto-generated method stub
StringBuilder sb = new StringBuilder();
Modifier mod = new Modifier();
if(mod.isPrivate(modifier)) { sb.append("Private"); }
if(mod.isProtected(modifier)) { sb.append("Protected"); }
if(mod.isPublic(modifier)) { sb.append("Public"); }
if(mod.isFinal(modifier)) { sb.append("Final"); }
if(mod.isStatic(modifier)) { sb.append("Static"); }
return sb.toString();
}
private static Class loadClass(String myPackage) {
try {
Class myClassName = Class.forName(myPackage);
return myClassName;
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
}