org.picocontainer.injectors.Injectors Maven / Gradle / Ivy
/*****************************************************************************
* Copyright (C) PicoContainer Organization. All rights reserved. *
* ------------------------------------------------------------------------- *
* The software in this package is published under the terms of the BSD *
* style license a copy of which has been included with this distribution in *
* the LICENSE.txt file. *
* *
* Original code by *
*****************************************************************************/
package org.picocontainer.injectors;
import org.picocontainer.InjectionFactory;
import java.lang.annotation.Annotation;
public class Injectors {
public static InjectionFactory adaptiveDI() {
return new AdaptingInjection();
}
public static InjectionFactory SDI() {
return new SetterInjection();
}
public static InjectionFactory CDI() {
return new ConstructorInjection();
}
public static InjectionFactory namedMethod() {
return new NamedMethodInjection();
}
public static InjectionFactory namedField() {
return new NamedFieldInjection();
}
public static InjectionFactory annotatedMethodDI(Class extends Annotation> injectionAnnotation) {
return new AnnotatedMethodInjection(injectionAnnotation, false);
}
public static InjectionFactory annotatedMethodDI() {
return new AnnotatedMethodInjection();
}
public static InjectionFactory annotatedFieldDI(Class extends Annotation> injectionAnnotation) {
return new AnnotatedFieldInjection(injectionAnnotation);
}
public static InjectionFactory annotatedFieldDI() {
return new AnnotatedFieldInjection();
}
public static InjectionFactory typedFieldDI() {
return new TypedFieldInjection();
}
}