Package org.apache.tapestry5.ioc.internal.util

## Class ConstructionPlan<T>

- java.lang.Object
- - org.apache.tapestry5.ioc.internal.util.ConstructionPlan<T>

- All Implemented Interfaces:
    `ObjectCreator<T>`

      public class ConstructionPlan<T>
      extends Object
      implements ObjectCreator<T>

  Encapsulates the initial construction of an object instance, followed by a series `InitializationPlan`s to initialize fields and invoke other methods of the constructed object.
  Since:
    5.3

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ConstructionPlan​(OperationTracker tracker, String description, Invokable<T> instanceConstructor)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ConstructionPlan` | `add​(InitializationPlan plan)` |
    `T` | `createObject()` | Create and return the object.

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

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

- - ### Constructor Detail

    - #### ConstructionPlan

          public ConstructionPlan​(OperationTracker tracker,
                                  String description,
                                  Invokable<T> instanceConstructor)

  - ### Method Detail

    - #### add

          public ConstructionPlan add​(InitializationPlan plan)

    - #### createObject

          public T createObject()

      Description copied from interface: `ObjectCreator`
      Create and return the object. In some limited circumstances, the implementation may cache the result, returning the same object for repeated calls.
      Specified by:
        `createObject` in interface `ObjectCreator<T>`