org.jboss.metadata.annotation.creator
Class AbstractProcessor<MD>

java.lang.Object
  extended by org.jboss.metadata.annotation.creator.AbstractFinderUser
      extended by org.jboss.metadata.annotation.creator.AbstractProcessor<MD>
Direct Known Subclasses:
AbstractComponentProcessor, AbstractComponentProcessor

public abstract class AbstractProcessor<MD>
extends AbstractFinderUser

A abstract base processor.

Version:
$Revision$
Author:
Scott.Stark@jboss.org, Emanuel Muckenhuber

Nested Class Summary
static class AbstractProcessor.Scope
           
 
Field Summary
 
Fields inherited from class org.jboss.metadata.annotation.creator.AbstractFinderUser
finder
 
Constructor Summary
AbstractProcessor(AnnotationFinder<AnnotatedElement> finder)
          The constructor.
 
Method Summary
 void addFieldProcessor(Processor processor)
          Add a Field processor.
 void addMethodProcessor(Processor processor)
          Add a method processor.
 void addTypeProcessor(Processor processor)
          Add a type processor.
 Collection<Class<? extends Annotation>> getAnnotationTypes()
          Get a set of all processed annotations handled by this processor.
 Collection<Class<? extends Annotation>> getProcessedAnnotations(AbstractProcessor.Scope scope)
          Get annotations for a given scope.
 void process(MD metaData, Class<?> type)
          Process type for component meta data related annotations
protected
<T> void
processClass(T metaData, Class<?> cls)
          Process a the cls annotations at the type, method and field levels into the argument metaData.
protected
<T> int
processClass(T metaData, Class<?> cls, Class processorType)
          Process the class and superClasses, based on their processorType.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractProcessor

public AbstractProcessor(AnnotationFinder<AnnotatedElement> finder)
The constructor.

Parameters:
finder - the AnnotationFinder
Method Detail

addFieldProcessor

public void addFieldProcessor(Processor processor)
Add a Field processor.

Parameters:
processor - Processor

addMethodProcessor

public void addMethodProcessor(Processor processor)
Add a method processor.

Parameters:
processor - Processor>

addTypeProcessor

public void addTypeProcessor(Processor processor)
Add a type processor.

Parameters:
processor - Processor>

process

public void process(MD metaData,
                    Class<?> type)
Process type for component meta data related annotations

Parameters:
metaData -
type -

processClass

protected <T> void processClass(T metaData,
                                Class<?> cls)
Process a the cls annotations at the type, method and field levels into the argument metaData. Only processors registered for the metaData type will be run.

Type Parameters:
T -
Parameters:
metaData -
cls -

processClass

protected <T> int processClass(T metaData,
                               Class<?> cls,
                               Class processorType)
Process the class and superClasses, based on their processorType.

Type Parameters:
T -
Parameters:
metaData - the metadata
cls - the class
processorType - the processed metadata class
Returns:

getProcessedAnnotations

public Collection<Class<? extends Annotation>> getProcessedAnnotations(AbstractProcessor.Scope scope)
Get annotations for a given scope.

Parameters:
scope - the Scope
Returns:
the processed annotations

getAnnotationTypes

public Collection<Class<? extends Annotation>> getAnnotationTypes()
Get a set of all processed annotations handled by this processor.

Returns:
processed annotations


Copyright © 2011 JBoss, a division of Red Hat, Inc.. All Rights Reserved.