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

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

public abstract class AbstractComponentProcessor<MD>
extends AbstractFinderUser

A base javaee component processor.

Version:
$Revision: 67999 $
Author:
Scott.Stark@jboss.org

Field Summary
protected  Set<Class> boundedTypes
           
protected  Map<Class<?>,List<Processor<Object,Field>>> fieldProcessors
          Map>
protected  Map<Class<?>,List<Processor<Object,Method>>> methodProcessors
          Map>
protected  Map<Class<?>,List<Processor<Object,Class<?>>>> typeProcessors
          Map>
 
Fields inherited from class org.jboss.metadata.annotation.creator.AbstractFinderUser
finder
 
Constructor Summary
AbstractComponentProcessor(AnnotationFinder<AnnotatedElement> finder)
           
 
Method Summary
 void addFieldProcessor(Processor processor)
           
 void addMethodProcessor(Processor processor)
           
 void addTypeProcessor(Processor processor)
           
protected  Class getProcessorMetaDataType(Processor processor)
          Determine the Processor T generic processorType class.
 void process(EnvironmentRefsGroupMetaData metaData, Class<?> type)
          Process type for environment metadata related annotations
 void process(MD metaData, Class<?> type)
          Process type for component metadata 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

typeProcessors

protected Map<Class<?>,List<Processor<Object,Class<?>>>> typeProcessors
Map>


fieldProcessors

protected Map<Class<?>,List<Processor<Object,Field>>> fieldProcessors
Map>


methodProcessors

protected Map<Class<?>,List<Processor<Object,Method>>> methodProcessors
Map>


boundedTypes

protected Set<Class> boundedTypes
Constructor Detail

AbstractComponentProcessor

public AbstractComponentProcessor(AnnotationFinder<AnnotatedElement> finder)
Parameters:
finder -
Method Detail

addFieldProcessor

public void addFieldProcessor(Processor processor)

addMethodProcessor

public void addMethodProcessor(Processor processor)

addTypeProcessor

public void addTypeProcessor(Processor processor)

process

public void process(EnvironmentRefsGroupMetaData metaData,
                    Class<?> type)
Process type for environment metadata related annotations

Parameters:
metaData -
type -

process

public void process(MD metaData,
                    Class<?> type)
Process type for component metadata 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 -

getProcessorMetaDataType

protected Class getProcessorMetaDataType(Processor processor)
Determine the Processor T generic processorType class.

Parameters:
processor -
Returns:
The Class for the T parameter type. If this was an upper bound, this will have been added to the boundedTypes set.


Copyright ? 2008 JBoss, A division of Red Hat. All Rights Reserved.