org.jboss.injection
Class InjectionUtil

java.lang.Object
  extended by org.jboss.injection.InjectionUtil

public class InjectionUtil
extends java.lang.Object

Comment


Constructor Summary
InjectionUtil()
           
 
Method Summary
static void collapseXmlMethodInjectors(java.util.Set<java.lang.String> visitedMethods, java.lang.Class clazz, java.util.Map<java.lang.String,java.util.Map<java.lang.reflect.AccessibleObject,Injector>> xmlDefinedInjectors, java.util.Map<java.lang.reflect.AccessibleObject,Injector> classInjectors)
          This method will take a set of XML loaded injectors and collapse them based on spec inheritance rules It will remove injectors that should not be used in the injection of the base component class.
static void createInjectors(java.util.List<Injector> injectors, java.lang.ClassLoader classLoader, InjectorFactory<?> factory, java.util.Collection<org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData> injectionTargets)
          Create and add multiple injectors for injection targets.
static java.lang.reflect.AccessibleObject findInjectionTarget(java.lang.ClassLoader loader, org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData target)
           
static java.lang.Object getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, EJBContainer container, java.lang.Class<?> annotatedClass, boolean isContainer)
           
static java.lang.Object getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, EJBContainer container, java.lang.reflect.Field field, boolean isContainer)
           
static java.lang.Object getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, EJBContainer container, java.lang.reflect.Method method, boolean isContainer)
           
static java.lang.String getEncName(java.lang.Class type)
           
static java.lang.String getEncName(java.lang.reflect.Field field)
           
static java.lang.String getEncName(java.lang.reflect.Method method)
           
static java.lang.Class<?> injectionTarget(java.lang.String encName, org.jboss.metadata.javaee.spec.ResourceInjectionMetaData ref, InjectionContainer container, java.util.Map<java.lang.String,java.util.Map<java.lang.reflect.AccessibleObject,Injector>> classInjectors)
           
static
<X extends org.jboss.metadata.javaee.spec.RemoteEnvironment>
java.util.Map<java.lang.reflect.AccessibleObject,Injector>
processAnnotations(InjectionContainer container, java.util.Collection<InjectionHandler<X>> handlers, java.lang.Class<?> clazz)
           
static
<X extends org.jboss.metadata.javaee.spec.RemoteEnvironment>
void
processClassAnnotations(InjectionContainer container, java.util.Collection<InjectionHandler<X>> handlers, java.lang.Class<?> clazz)
           
static
<X extends org.jboss.metadata.javaee.spec.RemoteEnvironment>
void
processFieldAnnotations(InjectionContainer container, java.util.Collection<InjectionHandler<X>> handlers, java.lang.Class<?> clazz, java.util.Map<java.lang.reflect.AccessibleObject,Injector> classInjectors)
           
static
<X extends org.jboss.metadata.javaee.spec.RemoteEnvironment>
void
processMethodAnnotations(InjectionContainer container, java.util.Collection<InjectionHandler<X>> handlers, java.util.Set<java.lang.String> visitedMethods, java.lang.Class<?> clazz, java.util.Map<java.lang.reflect.AccessibleObject,Injector> classInjectors)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InjectionUtil

public InjectionUtil()
Method Detail

collapseXmlMethodInjectors

public static void collapseXmlMethodInjectors(java.util.Set<java.lang.String> visitedMethods,
                                              java.lang.Class clazz,
                                              java.util.Map<java.lang.String,java.util.Map<java.lang.reflect.AccessibleObject,Injector>> xmlDefinedInjectors,
                                              java.util.Map<java.lang.reflect.AccessibleObject,Injector> classInjectors)
This method will take a set of XML loaded injectors and collapse them based on spec inheritance rules It will remove injectors that should not be used in the injection of the base component class.

Parameters:
visitedMethods -
clazz -
xmlDefinedInjectors -
classInjectors -

createInjectors

public static void createInjectors(java.util.List<Injector> injectors,
                                   java.lang.ClassLoader classLoader,
                                   InjectorFactory<?> factory,
                                   java.util.Collection<org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData> injectionTargets)
Create and add multiple injectors for injection targets.

Parameters:
injectors - the list on which to add injectors
classLoader - the class loader to resolve an injection target
factory - the injector factory
injectionTargets - the injection targets

processMethodAnnotations

public static <X extends org.jboss.metadata.javaee.spec.RemoteEnvironment> void processMethodAnnotations(InjectionContainer container,
                                                                                                         java.util.Collection<InjectionHandler<X>> handlers,
                                                                                                         java.util.Set<java.lang.String> visitedMethods,
                                                                                                         java.lang.Class<?> clazz,
                                                                                                         java.util.Map<java.lang.reflect.AccessibleObject,Injector> classInjectors)

processFieldAnnotations

public static <X extends org.jboss.metadata.javaee.spec.RemoteEnvironment> void processFieldAnnotations(InjectionContainer container,
                                                                                                        java.util.Collection<InjectionHandler<X>> handlers,
                                                                                                        java.lang.Class<?> clazz,
                                                                                                        java.util.Map<java.lang.reflect.AccessibleObject,Injector> classInjectors)

processClassAnnotations

public static <X extends org.jboss.metadata.javaee.spec.RemoteEnvironment> void processClassAnnotations(InjectionContainer container,
                                                                                                        java.util.Collection<InjectionHandler<X>> handlers,
                                                                                                        java.lang.Class<?> clazz)

processAnnotations

public static <X extends org.jboss.metadata.javaee.spec.RemoteEnvironment> java.util.Map<java.lang.reflect.AccessibleObject,Injector> processAnnotations(InjectionContainer container,
                                                                                                                                                         java.util.Collection<InjectionHandler<X>> handlers,
                                                                                                                                                         java.lang.Class<?> clazz)

findInjectionTarget

public static java.lang.reflect.AccessibleObject findInjectionTarget(java.lang.ClassLoader loader,
                                                                     org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData target)

getEncName

public static java.lang.String getEncName(java.lang.Class type)

getEncName

public static java.lang.String getEncName(java.lang.reflect.Method method)

getEncName

public static java.lang.String getEncName(java.lang.reflect.Field field)

getAnnotation

public static java.lang.Object getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                             EJBContainer container,
                                             java.lang.Class<?> annotatedClass,
                                             boolean isContainer)

getAnnotation

public static java.lang.Object getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                             EJBContainer container,
                                             java.lang.reflect.Method method,
                                             boolean isContainer)

getAnnotation

public static java.lang.Object getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                             EJBContainer container,
                                             java.lang.reflect.Field field,
                                             boolean isContainer)

injectionTarget

public static java.lang.Class<?> injectionTarget(java.lang.String encName,
                                                 org.jboss.metadata.javaee.spec.ResourceInjectionMetaData ref,
                                                 InjectionContainer container,
                                                 java.util.Map<java.lang.String,java.util.Map<java.lang.reflect.AccessibleObject,Injector>> classInjectors)