/** * @author Mike Brock */ @LoadAsync public class DependentScopedBeanB implements InterfaceContainerClass.SomeInterface { }
/** * @author Mike Brock */ @LoadAsync public class DependentBeanB { private boolean postConstr = false; @PostConstruct public void init() { postConstr = true; } public boolean isPostConstr() { return postConstr; } }
/** * @author Mike Brock */ @LoadAsync public class DependentScopedBean { static int instanceCount = 0; private int instance; public DependentScopedBean() { instance = instanceCount++; } public int getInstance() { return instance; } }
/** * @author Mike Brock */ @LoadAsync public class DependentScopedBean { static int instanceCount = 0; private int instance; public DependentScopedBean() { instance = instanceCount++; } public int getInstance() { return instance; } }
/** * @author Mike Brock */ @LoadAsync public class DependentScopedBeanWithDependencies { private DependentScopedBean bean; @Inject public DependentScopedBeanWithDependencies(DependentScopedBean bean) { this.bean = bean; } public DependentScopedBean getBean() { return bean; } }
/** * @author Mike Brock */ @LoadAsync public class DependentScopedBeanWithDependencies { private DependentScopedBean bean; @Inject public DependentScopedBeanWithDependencies(DependentScopedBean bean) { this.bean = bean; } public DependentScopedBean getBean() { return bean; } }
/** * @author Mike Brock */ @Dependent @LoadAsync public class ADependent { public String testString() { return "foo"; } }
/** * @author Mike Brock */ @Singleton @LoadAsync public class ApplicationScopedBeanA implements InterfaceA { private static int instanceCount = 0; private final int instanceId = instanceCount++; public int getInstanceId() { return instanceId; } }
/** * @author Mike Brock */ @Singleton @LoadAsync public class BazTheSingleton { }
/** * @author Mike Brock */ @Dependent @LoadAsync public class DestroyB { private boolean isDestroyed = false; @PreDestroy private void destroy() { isDestroyed = true; } public boolean isDestroyed() { return isDestroyed; } }
/** * @author Mike Brock */ @LoadAsync public class ServiceC { private static int count = 0; private String name = "Service:" + (count++); @Inject ApplicationScopedBean bean; public ApplicationScopedBean getBean() { return bean; } public String getName() { return name; } }
@Singleton @LoadAsync public class ApplicationScopedBeanC extends NonAbstractBean { }
/** * @author Mike Brock */ @Singleton @LoadAsync public class ApplicationScopedBeanB implements InterfaceB { @Inject DependentBeanCycleA dependentBeanCycleA; public DependentBeanCycleA getDependentBeanCycleA() { return dependentBeanCycleA; } }
/** * @author Mike Brock */ @Singleton @LoadAsync public class ServiceA { @Inject ServiceC serviceC; public ServiceC getServiceC() { return serviceC; } }
/** * @author Mike Brock */ @Singleton @LoadAsync public class OuterBean { @Inject Bean testBean; public Bean getTestBean() { return testBean; } }
/** * @author Mike Brock */ @LoadAsync public class Bar2 { @Inject BazTheSingleton bazTheSingleton; @Inject AsyncBeanManager manager; public AsyncBeanManager getManager() { return manager; } public BazTheSingleton getBazTheSingleton() { return bazTheSingleton; } }
/** * @author Mike Brock */ @Singleton @LoadAsync public class BeanInjectsNonModuleDependentBean { @Inject ArrayList<String> list; @PostConstruct private void postConstructBean() { list.add("foo"); list.add("bar"); } public ArrayList<String> getList() { return list; } }
/** * @author Mike Brock */ @Dependent @LoadAsync public class UnreferencedDependentRootBean { public String name = "test"; @Inject InterfaceContainerClass.SomeInterface beanB; public UnreferencedDependentRootBean() { } public String getName() { return name; } public InterfaceContainerClass.SomeInterface getBeanB() { return beanB; } }
/** * @author Mike Brock */ @Singleton @LoadAsync public class ServiceB { @Inject ServiceC serviceC; @Inject InitBallot<ServiceB> ballot; @PostConstruct public void doVote() { ballot.voteForInit(); } @AfterInitialization public void afterInit() { } public ServiceC getServiceC() { return serviceC; } }
/** * @author Mike Brock */ @Singleton @LoadAsync(ServiceA.class) public class Bean { @Inject private ServiceA serviceA; @Inject private ServiceB serviceB; @Inject private ServiceC serviceC; public ServiceA getServiceA() { return serviceA; } public ServiceB getServiceB() { return serviceB; } public ServiceC getServiceC() { return serviceC; } }