org.jboss.metadata.annotation.creator.ejb.jboss
Class AbstractEnterpriseBeanProcessor<MD extends JBossEnterpriseBeanMetaData>

java.lang.Object
  extended by org.jboss.metadata.annotation.creator.AbstractFinderUser
      extended by org.jboss.metadata.annotation.creator.AbstractProcessor<MD>
          extended by org.jboss.metadata.annotation.creator.jboss.AbstractComponentProcessor<MD>
              extended by org.jboss.metadata.annotation.creator.ejb.jboss.AbstractEnterpriseBeanProcessor<MD>
All Implemented Interfaces:
Processor<JBossMetaData,Class<?>>
Direct Known Subclasses:
AbstractSessionBeanProcessor, JBossConsumerProcessor, MessageDrivenProcessor

public abstract class AbstractEnterpriseBeanProcessor<MD extends JBossEnterpriseBeanMetaData>
extends AbstractComponentProcessor<MD>
implements Processor<JBossMetaData,Class<?>>

A AbstractEnterpriseBeanProcessor.

Version:
$Revision: 1.1 $
Author:
Alexey Loubyansky

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jboss.metadata.annotation.creator.AbstractProcessor
AbstractProcessor.Scope
 
Field Summary
 
Fields inherited from class org.jboss.metadata.annotation.creator.AbstractFinderUser
finder
 
Constructor Summary
protected AbstractEnterpriseBeanProcessor(AnnotationFinder<AnnotatedElement> finder)
           
 
Method Summary
protected abstract  MD create(Class<?> beanClass)
           
abstract  Collection<Class<? extends Annotation>> getAnnotationTypes()
          Get the processed annotations types.
 Collection<Class<? extends Annotation>> getProcessedAnnotations(AbstractProcessor.Scope scope)
          Get the processed annotations for a specific scope.
 void process(JBossMetaData ejbJarMetaData, Class<?> beanClass)
          Process a piece of meta data.
 void process(JBossMetaData ejbJarMetaData, JBossEnterpriseBeanMetaData beanMetaData, Class<?> beanClass)
          TODO: this should iterate over all method processors
 
Methods inherited from class org.jboss.metadata.annotation.creator.jboss.AbstractComponentProcessor
process, process
 
Methods inherited from class org.jboss.metadata.annotation.creator.AbstractProcessor
addFieldProcessor, addMethodProcessor, addTypeProcessor, process, processClass, processClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractEnterpriseBeanProcessor

protected AbstractEnterpriseBeanProcessor(AnnotationFinder<AnnotatedElement> finder)
Method Detail

create

protected abstract MD create(Class<?> beanClass)

process

public void process(JBossMetaData ejbJarMetaData,
                    Class<?> beanClass)
Description copied from interface: Processor
Process a piece of meta data.

Specified by:
process in interface Processor<JBossMetaData,Class<?>>
Parameters:
ejbJarMetaData - the meta data
beanClass - the annotated element

process

public void process(JBossMetaData ejbJarMetaData,
                    JBossEnterpriseBeanMetaData beanMetaData,
                    Class<?> beanClass)
TODO: this should iterate over all method processors


getAnnotationTypes

public abstract Collection<Class<? extends Annotation>> getAnnotationTypes()
Get the processed annotations types. Inherited classes need to override the getAnnotationTypes method from AbstractProcessor to only expose the top level class annotation.

Specified by:
getAnnotationTypes in interface Processor<JBossMetaData,Class<?>>
Overrides:
getAnnotationTypes in class AbstractProcessor<MD extends JBossEnterpriseBeanMetaData>
Returns:
processed annotations

getProcessedAnnotations

public Collection<Class<? extends Annotation>> getProcessedAnnotations(AbstractProcessor.Scope scope)
Get the processed annotations for a specific scope. In case of a EnterpriseBean we only need the TYPE annotation, as the other annotations depend on the presents of this 'top level' annotation. e.g. @Stateful, @Stateles, @MesageDriven

Overrides:
getProcessedAnnotations in class AbstractProcessor<MD extends JBossEnterpriseBeanMetaData>
Parameters:
scope - the Scope
Returns:
the processed annotations


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