Class EJBInjectionEnricher

java.lang.Object
org.jboss.arquillian.testenricher.ejb.EJBInjectionEnricher
All Implemented Interfaces:
TestEnricher

public class EJBInjectionEnricher extends Object implements TestEnricher
Enricher that provide EJB class and setter method injection.
Version:
$Revision: $
Author:
Aslak Knutsen
  • Constructor Details

    • EJBInjectionEnricher

      public EJBInjectionEnricher()
  • Method Details

    • enrich

      public void enrich(Object testCase)
      Specified by:
      enrich in interface TestEnricher
    • resolve

      public Object[] resolve(Method method)
      Specified by:
      resolve in interface TestEnricher
    • getFieldsWithAnnotation

      protected List<Field> getFieldsWithAnnotation(Class<?> clazz, Class<? extends Annotation> annotation) throws IllegalArgumentException
      Obtains all field in the specified class which contain the specified annotation
      Throws:
      IllegalArgumentException - If either argument is not specified
    • injectClass

      protected void injectClass(Object testCase)
    • attemptToGet31LookupField

      protected String attemptToGet31LookupField(jakarta.ejb.EJB annotation) throws IllegalAccessException, InvocationTargetException
      Throws:
      IllegalAccessException
      InvocationTargetException
    • resolveJNDINames

      protected String[] resolveJNDINames(Class<?> fieldType, String mappedName, String beanName, String lookup)
      Resolves the JNDI name of the given field.

      If mappedName, lookup or beanName are specified, they're used to resolve JNDI name. Otherwise, default policy applies.

      If more than one of the mappedName, lookup and beanName EJB annotation attributes is specified at the same time, an IllegalStateException will be thrown.

      Parameters:
      fieldType - annotated field which JNDI name should be resolved.
      mappedName - Value of EJB's mappedName attribute.
      beanName - Value of EJB's beanName attribute.
      lookup - Value of EJB's lookup attribute.
      Returns:
      possible JNDI names which should be looked up to access the proper object.
    • getJndiNamesForAnonymousEJB

      protected String[] getJndiNamesForAnonymousEJB(Class<?> fieldType)
    • lookupEJB

      protected Object lookupEJB(String[] jndiNames) throws Exception
      Throws:
      Exception
    • createContext

      protected Context createContext() throws Exception
      Throws:
      Exception