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 package org.osjava.jardiff;
40 import java.util.Map;
41
42 /***
43 * Information about a class file.
44 *
45 * @author <a href="mailto:antony@cyberiantiger.org">Antony Riley</a>
46 */
47 public final class ClassInfo extends AbstractInfo
48 {
49 /***
50 * The classfile version number.
51 */
52 private int version;
53
54 /***
55 * The class signature.
56 */
57 private String signature;
58
59 /***
60 * The internal classname of the superclass.
61 */
62 private String supername;
63
64 /***
65 * An array of names of internal classnames of interfaces implmented
66 * by the class.
67 */
68 private String[] interfaces;
69
70 /***
71 * A map of method signature to MethodInfo, for the methods provided
72 * by this class.
73 */
74 private Map methodMap;
75
76 /***
77 * A map of field signature to FieldInfo, for the fields provided by
78 * this class.
79 */
80 private Map fieldMap;
81
82 /***
83 * Create a new classinfo.
84 *
85 * @param version the class file version number.
86 * @param access the access flags for the class.
87 * @param name the internal name of the class.
88 * @param signature the signature of the class.
89 * @param interfaces an array of internal names of interfaces implemented
90 * by the class.
91 * @param methodMap a map of methods provided by this class.
92 * @param fieldMap a map of fields provided by this class.
93 */
94 public ClassInfo(int version, int access, String name, String signature,
95 String supername, String[] interfaces, Map methodMap,
96 Map fieldMap) {
97 super(access, name);
98 this.version = version;
99 this.signature = signature;
100 this.supername = supername;
101 this.interfaces = interfaces;
102 this.methodMap = methodMap;
103 this.fieldMap = fieldMap;
104 }
105
106 /***
107 * Get the class file version.
108 *
109 * @return The class file version as specified in the java language spec.
110 */
111 public final int getVersion() {
112 return version;
113 }
114
115 /***
116 * Get the class signature.
117 *
118 * @return the class signature
119 */
120 public final String getSignature() {
121 return signature;
122 }
123
124 /***
125 * Get the internal name of the superclass.
126 *
127 * @return the internal name of the superclass
128 */
129 public final String getSupername() {
130 return supername;
131 }
132
133 /***
134 * Get the internal names of the interfaces implemented by this class
135 *
136 * @return an array of internal names of classes implemented by the class.
137 */
138 public final String[] getInterfaces() {
139 return interfaces;
140 }
141
142 /***
143 * Get the map of method signatures to methods.
144 *
145 * @return a map with method signatures as keys, and MethodInfos as values.
146 */
147 public final Map getMethodMap() {
148 return methodMap;
149 }
150
151 /***
152 * Get the map of field signatures to fields.
153 *
154 * @return a map with field signatures as keys, and FieldInfos as values.
155 */
156 public final Map getFieldMap() {
157 return fieldMap;
158 }
159 }