public InjecteesOrJournalOrMakeNext<T> withSetters() { List<InjectionType> injectionTypes = new ArrayList<InjectionType>(Arrays.asList(DEFAULT_INJECTION_TYPES)); injectionTypes.add(SDI()); return withInjectionTypes(injectionTypes.toArray(new InjectionType[injectionTypes.size()])); } }
public PicoBuilder withConstructorInjection() { addInjector(CDI()); return this; }
public PicoBuilder withAnnotatedFieldInjection(final Class<? extends Annotation> injectionAnnotation) { addInjector(annotatedFieldDI(injectionAnnotation)); return this; }
public PicoBuilder withAnnotatedMethodInjection(final Class<? extends Annotation> injectionAnnotation) { addInjector(annotatedMethodDI(injectionAnnotation)); return this; }
public PicoBuilder withNamedFieldInjection() { addInjector(namedField()); return this; }
public PicoBuilder withNamedMethodInjection() { addInjector(namedMethod()); return this; }
public PicoBuilder withTypedFieldInjection() { addInjector(typedFieldDI()); return this; }
public MutablePicoContainer build() { DefaultPicoContainer tempContainer = new TransientPicoContainer(); tempContainer.addComponent(PicoContainer.class, parentContainer); addContainerComponents(tempContainer); ComponentFactory componentFactory; if (injectors.size() == 1) { componentFactory = injectors.get(0); } else if (injectors.size() == 0) { componentFactory = adaptiveDI(); } else { componentFactory = new CompositeInjection(injectors.toArray(new InjectionType[injectors.size()])); } Stack<Object> clonedBehaviors = (Stack< Object >) behaviors.clone(); while (!clonedBehaviors.empty()) { componentFactory = buildComponentFactory(tempContainer, componentFactory, clonedBehaviors); } tempContainer.addComponent(ComponentFactory.class, componentFactory); buildComponentMonitor(tempContainer); if (lifecycle == null) { tempContainer.addComponent(LifecycleStrategy.class, lifecycleClass); } else { tempContainer.addComponent(LifecycleStrategy.class, lifecycle); } tempContainer.addComponent("mpc", mpcClass); MutablePicoContainer newContainer = (MutablePicoContainer) tempContainer.getComponent("mpc"); addChildToParent(newContainer); return newContainer; }
public PicoBuilder withAnnotatedMethodInjection() { addInjector(annotatedMethodDI()); return this; }
public PicoBuilder withNamedFieldInjection() { addInjector(namedField()); return this; }
public PicoBuilder withNamedMethodInjection() { addInjector(namedMethod()); return this; }
public PicoBuilder withTypedFieldInjection() { addInjector(typedFieldDI()); return this; }
public MutablePicoContainer build() { DefaultPicoContainer tempContainer = new TransientPicoContainer(); tempContainer.addComponent(PicoContainer.class, parentContainer); addContainerComponents(tempContainer); ComponentFactory componentFactory; if (injectors.size() == 1) { componentFactory = injectors.get(0); } else if (injectors.size() == 0) { componentFactory = adaptiveDI(); } else { componentFactory = new CompositeInjection(injectors.toArray(new InjectionType[injectors.size()])); } Stack<Object> clonedBehaviors = (Stack< Object >) behaviors.clone(); while (!clonedBehaviors.empty()) { componentFactory = buildComponentFactory(tempContainer, componentFactory, clonedBehaviors); } tempContainer.addComponent(ComponentFactory.class, componentFactory); buildComponentMonitor(tempContainer); if (lifecycle == null) { tempContainer.addComponent(LifecycleStrategy.class, lifecycleClass); } else { tempContainer.addComponent(LifecycleStrategy.class, lifecycle); } tempContainer.addComponent("mpc", mpcClass); MutablePicoContainer newContainer = (MutablePicoContainer) tempContainer.getComponent("mpc"); addChildToParent(newContainer); return newContainer; }
public PicoBuilder withSetterInjection() { addInjector(SDI()); return this; }
public PicoBuilder withAnnotatedFieldInjection() { addInjector(annotatedFieldDI()); return this; }
public PicoBuilder withAnnotatedMethodInjection(final Class<? extends Annotation> injectionAnnotation) { addInjector(annotatedMethodDI(injectionAnnotation)); return this; }
public PicoBuilder withConstructorInjection() { addInjector(CDI()); return this; }
public PicoBuilder withSetterInjection() { addInjector(SDI()); return this; }
public PicoBuilder withAnnotatedFieldInjection(final Class<? extends Annotation> injectionAnnotation) { addInjector(annotatedFieldDI(injectionAnnotation)); return this; }
public PicoBuilder withAnnotatedMethodInjection() { addInjector(annotatedMethodDI()); return this; }