org.eclipse.jetty.annotations
Class AnnotationParser

java.lang.Object
  extended by org.eclipse.jetty.annotations.AnnotationParser

public class AnnotationParser
extends Object

AnnotationParser Use asm to scan classes for annotations. A SAX-style parsing is done, with a handler being able to be registered to handle each annotation type.


Nested Class Summary
static interface AnnotationParser.ClassHandler
           
static interface AnnotationParser.DiscoverableAnnotationHandler
           
static interface AnnotationParser.FieldHandler
           
 class AnnotationParser.ListValue
           
static interface AnnotationParser.MethodHandler
           
 class AnnotationParser.MyAnnotationVisitor
           
 class AnnotationParser.MyClassVisitor
          MyClassVisitor ASM visitor for a class.
 class AnnotationParser.SimpleValue
           
 class AnnotationParser.Value
           
 
Field Summary
protected  Map<String,List<AnnotationParser.DiscoverableAnnotationHandler>> _annotationHandlers
           
protected  List<AnnotationParser.ClassHandler> _classHandlers
           
protected  List<AnnotationParser.FieldHandler> _fieldHandlers
           
protected  List<AnnotationParser.MethodHandler> _methodHandlers
           
protected  List<String> _parsedClassNames
           
 
Constructor Summary
AnnotationParser()
           
 
Method Summary
 List<AnnotationParser.DiscoverableAnnotationHandler> getAnnotationHandlers()
           
 List<AnnotationParser.DiscoverableAnnotationHandler> getAnnotationHandlers(String annotationName)
           
 boolean isParsed(String className)
           
static String normalize(String name)
           
 void parse(Class clazz, ClassNameResolver resolver, boolean visitSuperClasses)
           
 void parse(ClassLoader loader, boolean visitParents, boolean nullInclusive, ClassNameResolver resolver)
          Find annotations on classes in the supplied classloader.
 void parse(List<String> classNames, ClassNameResolver resolver)
           
 void parse(Resource dir, ClassNameResolver resolver)
           
 void parse(String[] classNames, ClassNameResolver resolver)
           
 void parse(String className, ClassNameResolver resolver)
           
 void parse(URI[] uris, ClassNameResolver resolver)
          Find annotations in classes in the supplied url of jar files.
 void parse(URI uri, ClassNameResolver resolver)
           
 void registerAnnotationHandler(String annotationName, AnnotationParser.DiscoverableAnnotationHandler handler)
          Register a handler that will be called back when the named annotation is encountered on a class.
 void registerClassHandler(AnnotationParser.ClassHandler handler)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_parsedClassNames

protected List<String> _parsedClassNames

_annotationHandlers

protected Map<String,List<AnnotationParser.DiscoverableAnnotationHandler>> _annotationHandlers

_classHandlers

protected List<AnnotationParser.ClassHandler> _classHandlers

_methodHandlers

protected List<AnnotationParser.MethodHandler> _methodHandlers

_fieldHandlers

protected List<AnnotationParser.FieldHandler> _fieldHandlers
Constructor Detail

AnnotationParser

public AnnotationParser()
Method Detail

normalize

public static String normalize(String name)

registerAnnotationHandler

public void registerAnnotationHandler(String annotationName,
                                      AnnotationParser.DiscoverableAnnotationHandler handler)
Register a handler that will be called back when the named annotation is encountered on a class.

Parameters:
annotationName -
handler -

getAnnotationHandlers

public List<AnnotationParser.DiscoverableAnnotationHandler> getAnnotationHandlers(String annotationName)

getAnnotationHandlers

public List<AnnotationParser.DiscoverableAnnotationHandler> getAnnotationHandlers()

registerClassHandler

public void registerClassHandler(AnnotationParser.ClassHandler handler)

isParsed

public boolean isParsed(String className)

parse

public void parse(String className,
                  ClassNameResolver resolver)
           throws Exception
Throws:
Exception

parse

public void parse(Class clazz,
                  ClassNameResolver resolver,
                  boolean visitSuperClasses)
           throws Exception
Throws:
Exception

parse

public void parse(String[] classNames,
                  ClassNameResolver resolver)
           throws Exception
Throws:
Exception

parse

public void parse(List<String> classNames,
                  ClassNameResolver resolver)
           throws Exception
Throws:
Exception

parse

public void parse(Resource dir,
                  ClassNameResolver resolver)
           throws Exception
Throws:
Exception

parse

public void parse(ClassLoader loader,
                  boolean visitParents,
                  boolean nullInclusive,
                  ClassNameResolver resolver)
           throws Exception
Find annotations on classes in the supplied classloader. Only class files in jar files will be scanned.

Parameters:
loader -
visitParents -
nullInclusive -
resolver -
Throws:
Exception

parse

public void parse(URI[] uris,
                  ClassNameResolver resolver)
           throws Exception
Find annotations in classes in the supplied url of jar files.

Parameters:
uris -
resolver -
Throws:
Exception

parse

public void parse(URI uri,
                  ClassNameResolver resolver)
           throws Exception
Throws:
Exception


Copyright © 1995-2011 Mort Bay Consulting. All Rights Reserved.