FieldInitializer
Date: 2015-09-18

org.mockito.internal.util.reflection

## Class FieldInitializer

- java.lang.Object
- - org.mockito.internal.util.reflection.FieldInitializer

-     public class FieldInitializer
      extends java.lang.Object

  Initialize a field with type instance if a default constructor can be found.

  If the given field is already initialized, then the actual instance is returned. This initializer doesn't work with inner classes, local classes, interfaces or abstract types.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `FieldInitializer.ConstructorArgumentResolver` Represents the strategy used to resolve actual instances to be given to a constructor given the argument types.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FieldInitializer(java.lang.Object fieldOwner, java.lang.reflect.Field field)` Prepare initializer with the given field on the given instance.
    `FieldInitializer(java.lang.Object fieldOwner, java.lang.reflect.Field field, FieldInitializer.ConstructorArgumentResolver argResolver)` Prepare initializer with the given field on the given instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `FieldInitializationReport` | `initialize()` Initialize field if not initialized and return the actual instance.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FieldInitializer

          public FieldInitializer(java.lang.Object fieldOwner,
                          java.lang.reflect.Field field)

      Prepare initializer with the given field on the given instance.

      This constructor fail fast if the field type cannot be handled.

      Parameters:
        `fieldOwner` - Instance of the test.
        `field` - Field to be initialize.

    - #### FieldInitializer

          public FieldInitializer(java.lang.Object fieldOwner,
                          java.lang.reflect.Field field,
                          FieldInitializer.ConstructorArgumentResolver argResolver)

      Prepare initializer with the given field on the given instance.

      This constructor fail fast if the field type cannot be handled.

      Parameters:
        `fieldOwner` - Instance of the test.
        `field` - Field to be initialize.
        `argResolver` - Constructor parameters resolver

  - ### Method Detail

    - #### initialize

          public FieldInitializationReport initialize()

      Initialize field if not initialized and return the actual instance.
      Returns:
        Actual field instance.