public final class AnnotationDetector extends Object
AnnotationDetector 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 16-bit, 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:
 tv.cntt:annovention:1.2;
 ClassPathScanningCandidateComponentProvider
 | Modifier and Type | Class and Description | 
|---|---|
static interface  | 
AnnotationDetector.FieldReporter
A  
Reporter for field annotations. | 
static interface  | 
AnnotationDetector.MethodReporter
A  
Reporter for method annotations. | 
static interface  | 
AnnotationDetector.Reporter
Reporter is the base interface, used to report the detected annotations. | 
static interface  | 
AnnotationDetector.TypeReporter
A  
Reporter for type annotations. | 
| Constructor and Description | 
|---|
AnnotationDetector(AnnotationDetector.Reporter reporter)
Create a new  
AnnotationDetector, reporting the detected annotations
 to the specified Reporter. | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
destroy()
Reclaim memory. 
 | 
void | 
detect()
Report all Java ClassFile files available on the class path. 
 | 
void | 
detect(File... filesOrDirectories)
Report all Java ClassFile files available from the specified files
 and/or directories, including sub directories. 
 | 
void | 
detect(String... packageNames)
Report all Java ClassFile files available on the class path within
 the specified packages and sub packages. 
 | 
public AnnotationDetector(AnnotationDetector.Reporter reporter)
AnnotationDetector, reporting the detected annotations
 to the specified Reporter.public void detect()
            throws IOException
IOExceptiondetect(File...)public final void detect(String... packageNames) throws IOException
IOExceptiondetect(File...)public void detect(File... filesOrDirectories) throws IOException
CAFEBABE are silently ignored.IOExceptionpublic void destroy()
Copyright © 2012-2015. All Rights Reserved.