Class DependencyInjectionFactory

java.lang.Object
com.thoughtworks.xstream.core.util.DependencyInjectionFactory

public class DependencyInjectionFactory extends Object
A dependency injection factory.
Since:
1.2.2
  • Constructor Details

    • DependencyInjectionFactory

      public DependencyInjectionFactory()
  • Method Details

    • newInstance

      public static Object newInstance(Class type, Object[] dependencies)
      Create an instance with dependency injection. The given dependencies are used to match the parameters of the constructors of the type. Constructors with most parameters are examined first. A parameter type sequence matching the sequence of the dependencies' types match first. Otherwise all the types of the dependencies must match one of the the parameters although no dependency is used twice. Use a TypedNull instance to inject null as parameter.
      Parameters:
      type - the type to create an instance of
      dependencies - the possible dependencies
      Returns:
      the instantiated object
      Throws:
      ObjectAccessException - if no instance can be generated
      IllegalArgumentException - if more than 63 dependencies have been provided
      Since:
      1.2.2
    • newInstance

      public static Object newInstance(Class type, Object[] dependencies, BitSet usedDependencies)
      Create an instance with dependency injection. The given dependencies are used to match the parameters of the constructors of the type. Constructors with most parameters are examined first. A parameter type sequence matching the sequence of the dependencies' types match first. Otherwise all the types of the dependencies must match one of the the parameters although no dependency is used twice. Use a TypedNull instance to inject null as parameter.
      Parameters:
      type - the type to create an instance of
      dependencies - the possible dependencies
      usedDependencies - bit mask set by the method for all used dependencies (may be null)
      Returns:
      the instantiated object
      Throws:
      ObjectAccessException - if no instance can be generated
      IllegalArgumentException - if more than 63 dependencies have been provided
      Since:
      1.4