001/***************************************************************************** 002 * Copyright (C) PicoContainer Organization. All rights reserved. * 003 * ------------------------------------------------------------------------- * 004 * The software in this package is published under the terms of the BSD * 005 * style license a copy of which has been included with this distribution in * 006 * the LICENSE.txt file. * 007 * * 008 * Original code by * 009 *****************************************************************************/ 010package org.picocontainer.injectors; 011 012import org.picocontainer.InjectionFactory; 013 014import java.lang.annotation.Annotation; 015 016public class Injectors { 017 018 public static InjectionFactory adaptiveDI() { 019 return new AdaptingInjection(); 020 } 021 022 public static InjectionFactory SDI() { 023 return new SetterInjection(); 024 } 025 026 public static InjectionFactory CDI() { 027 return new ConstructorInjection(); 028 } 029 030 public static InjectionFactory namedMethod() { 031 return new NamedMethodInjection(); 032 } 033 034 public static InjectionFactory namedField() { 035 return new NamedFieldInjection(); 036 } 037 038 public static InjectionFactory annotatedMethodDI(Class<? extends Annotation> injectionAnnotation) { 039 return new AnnotatedMethodInjection(injectionAnnotation, false); 040 } 041 042 public static InjectionFactory annotatedMethodDI() { 043 return new AnnotatedMethodInjection(); 044 } 045 046 public static InjectionFactory annotatedFieldDI(Class<? extends Annotation> injectionAnnotation) { 047 return new AnnotatedFieldInjection(injectionAnnotation); 048 } 049 050 public static InjectionFactory annotatedFieldDI() { 051 return new AnnotatedFieldInjection(); 052 } 053 054 public static InjectionFactory typedFieldDI() { 055 return new TypedFieldInjection(); 056 } 057 058}