public final class AnnotationClassReader extends Object
AnnotationClassReader reads Java Class File (".class") files and reports the
encountered annotations via a simple, developer friendly API.
A Java Class File consists of a stream of 8-bit bytes. All 32-bit and 64-bit
quantities are constructed by reading in two, four, and eight consecutive 8-bit
bytes, respectively. Multi byte data items are always stored in big-endian order,
where the high bytes come first. In the Java and Java 2 platforms, this format is
supported by interfaces DataInput and DataOutput.
A class file consists of a single ClassFile structure:
ClassFile {
u4 magic;
u2 minor_version;
u2 major_version;
u2 constant_pool_count;
cp_info constant_pool[constant_pool_count-1];
u2 access_flags;
u2 this_class;
u2 super_class;
u2 interfaces_count;
u2 interfaces[interfaces_count];
u2 fields_count;
field_info fields[fields_count];
u2 methods_count;
method_info methods[methods_count];
u2 attributes_count;
attribute_info attributes[attributes_count];
}
Where:
u1 unsigned byte DataInput.readUnsignedByte()
u2 unsigned short DataInput.readUnsignedShort()
u4 unsigned int DataInput.readInt()
Annotations are stored as Attributes (i.e. "RuntimeVisibleAnnotations" and
"RuntimeInvisibleAnnotations").
References:
| Constructor and Description |
|---|
AnnotationClassReader() |
| Modifier and Type | Method and Description |
|---|---|
void |
addAnnotation(Class<? extends Annotation> annoClass) |
boolean |
isAnnotationed(File file) |
boolean |
isAnnotationed(InputStream classInputStream) |
boolean |
isAnnotationed(InputStream classInputStream,
String details) |
boolean |
isAnnotationed(ZipFile file,
ZipEntry entry) |
public boolean isAnnotationed(File file)
public boolean isAnnotationed(InputStream classInputStream)
public boolean isAnnotationed(InputStream classInputStream, String details)
public void addAnnotation(Class<? extends Annotation> annoClass)
Copyright © 2016 jetbrick. All rights reserved.