Class Injection


  • public class Injection
    extends java.lang.Object
    Injection

    Represents the injection of a resource into a target (method or field). The injection is performed by doing an ENC lookup using the jndi name provided, and setting the object obtained on the target.

    • Constructor Summary

      Constructors 
      Constructor Description
      Injection​(java.lang.Class<?> clazz, java.lang.reflect.Field field, java.lang.Class<?> resourceType, java.lang.String jndiName, java.lang.String mappingName)  
      Injection​(java.lang.Class<?> clazz, java.lang.reflect.Method method, java.lang.Class<?> arg, java.lang.Class<?> resourceType, java.lang.String jndiName, java.lang.String mappingName)  
      Injection​(java.lang.Class<?> clazz, java.lang.String target, java.lang.Class<?> resourceType, java.lang.String jndiName, java.lang.String mappingName)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getJndiName()  
      java.lang.String getMappingName()  
      java.lang.Class<?> getParamClass()  
      java.lang.Class<?> getResourceClass()  
      java.lang.reflect.Member getTarget()  
      java.lang.Class<?> getTargetClass()  
      void inject​(java.lang.Object injectable)
      Inject a value for a Resource from JNDI into an object
      protected void injectField​(java.lang.reflect.Field field, java.lang.Object injectable)
      Inject value from jndi into a field of an instance
      protected void injectMethod​(java.lang.reflect.Method method, java.lang.Object injectable)
      Inject value from jndi into a setter method of an instance
      boolean isField()  
      boolean isMethod()  
      java.lang.Object lookupInjectedValue()
      The Resource must already exist in the ENC of this webapp.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Injection

        public Injection​(java.lang.Class<?> clazz,
                         java.lang.reflect.Field field,
                         java.lang.Class<?> resourceType,
                         java.lang.String jndiName,
                         java.lang.String mappingName)
      • Injection

        public Injection​(java.lang.Class<?> clazz,
                         java.lang.reflect.Method method,
                         java.lang.Class<?> arg,
                         java.lang.Class<?> resourceType,
                         java.lang.String jndiName,
                         java.lang.String mappingName)
      • Injection

        public Injection​(java.lang.Class<?> clazz,
                         java.lang.String target,
                         java.lang.Class<?> resourceType,
                         java.lang.String jndiName,
                         java.lang.String mappingName)
    • Method Detail

      • getTargetClass

        public java.lang.Class<?> getTargetClass()
        Returns:
        the _className
      • getParamClass

        public java.lang.Class<?> getParamClass()
      • getResourceClass

        public java.lang.Class<?> getResourceClass()
      • isField

        public boolean isField()
      • isMethod

        public boolean isMethod()
      • getJndiName

        public java.lang.String getJndiName()
        Returns:
        the jndiName
      • getMappingName

        public java.lang.String getMappingName()
        Returns:
        the mappingName
      • getTarget

        public java.lang.reflect.Member getTarget()
        Returns:
        the target
      • inject

        public void inject​(java.lang.Object injectable)
        Inject a value for a Resource from JNDI into an object
        Parameters:
        injectable - the object to inject
      • lookupInjectedValue

        public java.lang.Object lookupInjectedValue()
                                             throws javax.naming.NamingException
        The Resource must already exist in the ENC of this webapp.
        Returns:
        the injected valud
        Throws:
        javax.naming.NamingException - if unable to lookup value
      • injectField

        protected void injectField​(java.lang.reflect.Field field,
                                   java.lang.Object injectable)
        Inject value from jndi into a field of an instance
        Parameters:
        field - the field to inject into
        injectable - the value to inject
      • injectMethod

        protected void injectMethod​(java.lang.reflect.Method method,
                                    java.lang.Object injectable)
        Inject value from jndi into a setter method of an instance
        Parameters:
        method - the method to inject into
        injectable - the value to inject