1
+ package javaxt .utils .src ;
2
+ import java .util .*;
3
+ import javaxt .json .*;
4
+
5
+
6
+ public class Class implements Member {
7
+ private String name ;
8
+ private String description ;
9
+ private Class parent ;
10
+ private ArrayList <Member > members ;
11
+ private boolean isPublic = true ;
12
+ private String namespace ;
13
+ private ArrayList <String > extensions ;
14
+ private ArrayList <String > interfaces ;
15
+
16
+
17
+ public Class (String name ){
18
+ this .name = name ;
19
+ this .members = new ArrayList <>();
20
+ this .extensions = new ArrayList <>();
21
+ this .interfaces = new ArrayList <>();
22
+ }
23
+
24
+ public String getName (){
25
+ return name ;
26
+ }
27
+
28
+ public void setDescription (String description ){
29
+ this .description = description ;
30
+ }
31
+
32
+ public String getDescription (){
33
+ return description ;
34
+ }
35
+
36
+ public boolean isPublic (){
37
+ return isPublic ;
38
+ }
39
+
40
+ public void setPublic (boolean isPublic ){
41
+ this .isPublic = isPublic ;
42
+ }
43
+
44
+ public void setNamespace (String namespace ){
45
+ this .namespace = namespace ;
46
+ }
47
+
48
+ public String getNamespace (){
49
+ return namespace ;
50
+ }
51
+
52
+ public void addSuper (String className ){
53
+ extensions .add (className );
54
+ }
55
+
56
+ public ArrayList <String > getSuper (){
57
+ return extensions ;
58
+ }
59
+
60
+ public void addInterface (String className ){
61
+ interfaces .add (className );
62
+ }
63
+
64
+ public ArrayList <String > getInterfaces (){
65
+ return interfaces ;
66
+ }
67
+
68
+ public void addMember (Member member ){
69
+ members .add (member );
70
+ }
71
+
72
+ public ArrayList <Member > getMembers (){
73
+ return members ;
74
+ }
75
+
76
+ public ArrayList <Class > getClasses (){
77
+ ArrayList <Class > classes = new ArrayList <>();
78
+ for (Member member : members ){
79
+ if (member instanceof Class ) classes .add ((Class ) member );
80
+ }
81
+ return classes ;
82
+ }
83
+
84
+ public ArrayList <Constructor > getConstructors (){
85
+ ArrayList <Constructor > constructors = new ArrayList <>();
86
+ for (Member member : members ){
87
+ if (member instanceof Method ){
88
+ Method m = (Method ) member ;
89
+ if (m instanceof Constructor ){
90
+ constructors .add ((Constructor ) m );
91
+ }
92
+ }
93
+ }
94
+ return constructors ;
95
+ }
96
+
97
+ public ArrayList <Method > getMethods (){
98
+ ArrayList <Method > methods = new ArrayList <>();
99
+ for (Member member : members ){
100
+ if (member instanceof Method ){
101
+ Method m = (Method ) member ;
102
+ if (m instanceof Constructor ){
103
+ //System.out.println("-->" + m.getName());
104
+ }
105
+ else {
106
+ methods .add (m );
107
+ }
108
+ }
109
+ }
110
+ return methods ;
111
+ }
112
+
113
+ public ArrayList <Property > getProperties (){
114
+ ArrayList <Property > properties = new ArrayList <>();
115
+ for (Member member : members ){
116
+ if (member instanceof Property ) properties .add ((Property ) member );
117
+ }
118
+ return properties ;
119
+ }
120
+
121
+ public void setParent (Class parent ){
122
+ this .parent = parent ;
123
+ }
124
+
125
+ public Class getParent (){
126
+ return parent ;
127
+ }
128
+
129
+ public JSONObject toJson (){
130
+ JSONObject json = new JSONObject ();
131
+ json .set ("name" , name );
132
+ json .set ("description" , description );
133
+ JSONArray methods = new JSONArray ();
134
+ for (Method m : getMethods ()){
135
+ methods .add (m .toJson ());
136
+ }
137
+ json .set ("methods" , methods );
138
+ JSONArray properties = new JSONArray ();
139
+ for (Property p : getProperties ()){
140
+ properties .add (p .toJson ());
141
+ }
142
+ json .set ("properties" , properties );
143
+ JSONArray classes = new JSONArray ();
144
+ for (Class c : getClasses ()){
145
+ classes .add (c .toJson ());
146
+ }
147
+ json .set ("classes" , classes );
148
+ return json ;
149
+ }
150
+ }
0 commit comments