org.jboss.metadata.annotation.creator
Class AbstractResourceProcessor<E extends AnnotatedElement>

java.lang.Object
  extended by org.jboss.metadata.annotation.creator.AbstractFinderUser
      extended by org.jboss.metadata.annotation.creator.AbstractInjectionTargetProcessor<E>
          extended by org.jboss.metadata.annotation.creator.AbstractResourceProcessor<E>
Direct Known Subclasses:
ResourceClassProcessor, ResourceFieldProcessor, ResourceMethodProcessor

public abstract class AbstractResourceProcessor<E extends AnnotatedElement>
extends AbstractInjectionTargetProcessor<E>

Base processor for @Resource annotations. This works on the MutableRemoteEnvironment since a @Resource produces several different types of metadata based on the java type of the annotated element. From the common annotations 1.0 spec, table 2-4 java type metadata type java.lang.String env-entry java.lang.Character env-entry java.lang.Integer env-entry java.lang.Boolean env-entry java.lang.Double env-entry java.lang.Byte env-entry java.lang.Short env-entry java.lang.Long env-entry java.lang.Float env-entry javax.xml.rpc.Service service-ref javax.xml.ws.Service service-ref javax.jws.WebService service-ref javax.sql.DataSource resource-ref javax.jms.ConnectionFactory resource-ref javax.jms.QueueConnectionFactory resource-ref javax.jms.TopicConnectionFactory resource-ref javax.mail.Session resource-ref java.net.URL resource-ref javax.resource.cci.ConnectionFactory resource-ref org.omg.CORBA_2_3.ORB resource-ref Any CF resource adapter resource-ref javax.jms.Queue message-destination-ref javax.jms.Topic message-destination-ref javax.resource.cci.InteractionSpec resource-env-ref javax.transaction.UserTransaction resource-env-ref Everything else resource-env-ref

Version:
$Revision: 76756 $
Author:
Carlo de Wolf, Scott.Stark@jboss.org

Field Summary
 
Fields inherited from class org.jboss.metadata.annotation.creator.AbstractFinderUser
finder
 
Constructor Summary
protected AbstractResourceProcessor(AnnotationFinder<AnnotatedElement> finder)
           
 
Method Summary
protected  EnvironmentEntryMetaData createEntry(javax.annotation.Resource annotation, E element)
           
protected  MessageDestinationReferenceMetaData createMessageRef(javax.annotation.Resource annotation, E element)
           
protected  ResourceEnvironmentReferenceMetaData createResourceEnvRef(javax.annotation.Resource annotation, E element)
           
protected  ResourceReferenceMetaData createResourceRef(javax.annotation.Resource annotation, E element)
          Create a
protected  ServiceReferenceMetaData createServiceRef(javax.annotation.Resource annotation, E element)
           
 Collection<Class<? extends Annotation>> getAnnotationTypes()
           
protected abstract  String getDeclaringClass(E element)
           
protected abstract  String getInjectionName(E element)
           
protected abstract  String getName(E element)
          Get the resource name based on the AnnotatedElement
protected abstract  String getType(E element)
           
static boolean isEnvEntry(String type)
           
static boolean isMessageDestinationRef(String type)
           
static boolean isResourceRef(String type)
           
static boolean isServiceRef(String type)
           
 void process(RemoteEnvironmentRefsGroupMetaData refs, E element)
           
protected  void process(RemoteEnvironmentRefsGroupMetaData refs, E element, javax.annotation.Resource annotation)
           
 
Methods inherited from class org.jboss.metadata.annotation.creator.AbstractInjectionTargetProcessor
addReference
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractResourceProcessor

protected AbstractResourceProcessor(AnnotationFinder<AnnotatedElement> finder)
Method Detail

isEnvEntry

public static boolean isEnvEntry(String type)

isServiceRef

public static boolean isServiceRef(String type)

isResourceRef

public static boolean isResourceRef(String type)

isMessageDestinationRef

public static boolean isMessageDestinationRef(String type)

process

public void process(RemoteEnvironmentRefsGroupMetaData refs,
                    E element)

process

protected void process(RemoteEnvironmentRefsGroupMetaData refs,
                       E element,
                       javax.annotation.Resource annotation)

getName

protected abstract String getName(E element)
Get the resource name based on the AnnotatedElement

Parameters:
element -
Returns:

getInjectionName

protected abstract String getInjectionName(E element)

getType

protected abstract String getType(E element)

getDeclaringClass

protected abstract String getDeclaringClass(E element)

createResourceRef

protected ResourceReferenceMetaData createResourceRef(javax.annotation.Resource annotation,
                                                      E element)
Create a

Parameters:
annotation -
ref -

createEntry

protected EnvironmentEntryMetaData createEntry(javax.annotation.Resource annotation,
                                               E element)

createServiceRef

protected ServiceReferenceMetaData createServiceRef(javax.annotation.Resource annotation,
                                                    E element)

createMessageRef

protected MessageDestinationReferenceMetaData createMessageRef(javax.annotation.Resource annotation,
                                                               E element)

createResourceEnvRef

protected ResourceEnvironmentReferenceMetaData createResourceEnvRef(javax.annotation.Resource annotation,
                                                                    E element)

getAnnotationTypes

public Collection<Class<? extends Annotation>> getAnnotationTypes()


Copyright © 2009 JBoss Inc.. All Rights Reserved.