## Uses of Interface
org.apache.tapestry5.commons.ObjectCreator

- Packages that use ObjectCreator
  Package | Description
  --- | ---
  org.apache.tapestry5.beanmodel.services |
  org.apache.tapestry5.commons.services |
  org.apache.tapestry5.internal.spring | [INTERNAL USE ONLY] support classes for the Spring IOC; API subject to change
  org.apache.tapestry5.ioc | A code-centric, high-performance, simple Inversion of Control container
  org.apache.tapestry5.ioc.def | Tapestry IOC service definitions
  org.apache.tapestry5.ioc.internal | [INTERNAL USE ONLY] Tapestry IOC implementation details; API subject to change.
  org.apache.tapestry5.ioc.internal.services | [INTERNAL USE ONLY] Tapestry IOC service implementation classes; API subject to change.
  org.apache.tapestry5.ioc.internal.util | [INTERNAL USE ONLY] utility classes for Tapestry IOC services; API subject to change
  org.apache.tapestry5.ioc.services | Tapestry IOC service interfaces
  org.apache.tapestry5.ioc.test |

- - ### Uses of ObjectCreator in org.apache.tapestry5.beanmodel.services

    Methods in org.apache.tapestry5.beanmodel.services with parameters of type ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> T` | PlasticProxyFactoryImpl.`createProxy​(java.lang.Class<T> interfaceType, java.lang.Class<? extends T> implementationType, ObjectCreator<T> creator, java.lang.String description)` |
    `<T> T` | PlasticProxyFactoryImpl.`createProxy​(java.lang.Class<T> interfaceType, ObjectCreator<T> creator, java.lang.String description)` |
    `Location` | PlasticProxyFactoryImpl.`getMemberLocation​(java.lang.reflect.Member member, java.lang.String methodName, java.lang.String memberTypeDesc, ObjectCreator<java.lang.String> textDescriptionCreator)` |

  - ### Uses of ObjectCreator in org.apache.tapestry5.commons.services

    Methods in org.apache.tapestry5.commons.services with parameters of type ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> T` | PlasticProxyFactory.`createProxy​(java.lang.Class<T> interfaceType, java.lang.Class<? extends T> implementationType, ObjectCreator<T> creator, java.lang.String description)` | Creates a proxy instance that delegates all methods through a corresponding ObjectCreator.
    `<T> T` | PlasticProxyFactory.`createProxy​(java.lang.Class<T> interfaceType, ObjectCreator<T> creator, java.lang.String description)` | Creates a proxy instance that delegates all methods through a corresponding ObjectCreator.

  - ### Uses of ObjectCreator in org.apache.tapestry5.internal.spring

    Classes in org.apache.tapestry5.internal.spring that implement ObjectCreator
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `StaticObjectCreator` | An `ObjectCreator` for a statically identified object (typically, a bean from the Spring application context).

    Methods in org.apache.tapestry5.internal.spring that return ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjectCreator` | SpringBeanServiceDef.`createServiceCreator​(ServiceBuilderResources resources)` |

  - ### Uses of ObjectCreator in org.apache.tapestry5.ioc

    Methods in org.apache.tapestry5.ioc with parameters of type ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | ServiceLifecycle.`createService​(ServiceResources resources, ObjectCreator creator)` | Returns the same creator, or a new one, that encapsulates the creation of the core service implementation.

  - ### Uses of ObjectCreator in org.apache.tapestry5.ioc.def

    Methods in org.apache.tapestry5.ioc.def that return ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjectCreator` | ServiceDef.`createServiceCreator​(ServiceBuilderResources resources)` | Returns an `ObjectCreator` that can create the core service implementation.

  - ### Uses of ObjectCreator in org.apache.tapestry5.ioc.internal

    Classes in org.apache.tapestry5.ioc.internal that implement ObjectCreator
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractReloadableObjectCreator` |
    `class` | `AbstractServiceCreator` | Abstract implementation of `ObjectCreator` geared towards the creation of the core service implementation, either by invoking a service builder method on a module, or by invoking a constructor.
    `class` | `AdvisorStackBuilder` | Equivalent of `InterceptorStackBuilder`, but works using an `AspectInterceptorBuilder` that receives advice from `ServiceAdvisor`s.
    `class` | `ConstructorServiceCreator` | A service creator based on an implementation class' constructor, rather than a service builder method.
    `class` | `InterceptorStackBuilder` | Responsible for constructing the interceptor stack, on demand, by invoking an ordered series of decorators ( `DecoratorDef` (which are converted into `ServiceDecorator`s).
    `class` | `LifecycleWrappedServiceCreator` | Wrapper around a lifecycle, a set of resources for a service, and an underlying `ObjectCreator` for a service that allows the service lifecycle to alter the way that the service is created (this is needed for the more advanced, non-singleton types of service lifecycles).
    `class` | `OperationTrackingObjectCreator` | Makes sure the operations tracker is notified knows that a service is being realized.
    `class` | `RecursiveServiceCreationCheckWrapper` | Decorator for `ObjectCreator` that ensures the service is only created once.
    `class` | `ReloadableObjectCreator` | Reloadable object creator for non-service objects.
    `class` | `ReloadableServiceImplementationObjectCreator` | Returns an `ObjectCreator` for lazily instantiating a given implementation class (with dependencies).
    `class` | `ServiceBuilderMethodInvoker` | Basic implementation of `ObjectCreator` that handles invoking a method on the module builder, and figures out the correct parameters to pass into the annotated method.

    Methods in org.apache.tapestry5.ioc.internal that return ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `ObjectCreator` | ObjectCreatorSource.`constructCreator​(ServiceBuilderResources resources)` | Provides an ObjectCreator that can be used to ultimately instantiate the core service implementation.
    `ObjectCreator` | ReloadableObjectCreatorSource.`constructCreator​(ServiceBuilderResources resources)` |
    `ObjectCreator` | ServiceDefImpl.`createServiceCreator​(ServiceBuilderResources resources)` |

    Methods in org.apache.tapestry5.ioc.internal with parameters of type ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | SingletonServiceLifecycle.`createService​(ServiceResources resources, ObjectCreator creator)` |

    Constructors in org.apache.tapestry5.ioc.internal with parameters of type ObjectCreator
    Constructor | Description
    --- | ---
    `AdvisorStackBuilder​(ServiceDef3 serviceDef, ObjectCreator delegate, AspectDecorator aspectDecorator, InternalRegistry registry)` |
    `InterceptorStackBuilder​(ServiceDef3 serviceDef, ObjectCreator delegate, InternalRegistry registry)` |
    `LifecycleWrappedServiceCreator​(ServiceLifecycle lifecycle, ServiceResources resources, ObjectCreator creator)` |
    `OperationTrackingObjectCreator​(OperationTracker tracker, java.lang.String message, ObjectCreator delegate)` |
    `RecursiveServiceCreationCheckWrapper​(ServiceDef serviceDef, ObjectCreator delegate, org.slf4j.Logger logger)` |

  - ### Uses of ObjectCreator in org.apache.tapestry5.ioc.internal.services

    Classes in org.apache.tapestry5.ioc.internal.services that implement ObjectCreator
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `CachingObjectCreator<T>` | An `ObjectCreator` that delegates to another `ObjectCreator` and caches the result.
    `class` | `JustInTimeObjectCreator<T>` | Invoked from a fabricated service delegate to get or realize (instantiate and configure) the service implementation.

    Methods in org.apache.tapestry5.ioc.internal.services that return ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> ObjectCreator<T>` | PerthreadManagerImpl.`createValue​(ObjectCreator<T> delegate)` |

    Methods in org.apache.tapestry5.ioc.internal.services with parameters of type ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | PerThreadServiceLifecycle.`createService​(ServiceResources resources, ObjectCreator creator)` |
    `<T> T` | ThunkCreatorImpl.`createThunk​(java.lang.Class<T> proxyType, ObjectCreator objectCreator, java.lang.String description)` |
    `<T> ObjectCreator<T>` | PerthreadManagerImpl.`createValue​(ObjectCreator<T> delegate)` |

    Constructors in org.apache.tapestry5.ioc.internal.services with parameters of type ObjectCreator
    Constructor | Description
    --- | ---
    `CachingObjectCreator​(ObjectCreator<T> delegate)` |
    `JustInTimeObjectCreator​(ServiceActivityTracker tracker, ObjectCreator<T> creator, java.lang.String serviceId)` |

  - ### Uses of ObjectCreator in org.apache.tapestry5.ioc.internal.util

    Classes in org.apache.tapestry5.ioc.internal.util that implement ObjectCreator
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ConstructionPlan<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.

    Fields in org.apache.tapestry5.ioc.internal.util with type parameters of type ObjectCreator
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Mapper<ObjectCreator,​java.lang.Object>` | InternalUtils.`CREATE_OBJECT` |

    Methods in org.apache.tapestry5.ioc.internal.util that return ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ObjectCreator[]` | InternalUtils.`calculateParameters​(ObjectLocator locator, InjectionResources resources, java.lang.Class[] parameterTypes, java.lang.reflect.Type[] genericTypes, java.lang.annotation.Annotation[][] parameterAnnotations, OperationTracker tracker)` |
    `static ObjectCreator[]` | InternalUtils.`calculateParametersForMethod​(java.lang.reflect.Method method, ObjectLocator locator, InjectionResources resources, OperationTracker tracker)` |
    `static <T> ObjectCreator<T>` | InternalUtils.`createConstructorConstructionPlan​(OperationTracker tracker, ObjectLocator locator, InjectionResources resources, org.slf4j.Logger logger, java.lang.String description, java.lang.reflect.Constructor<T> constructor)` |
    `static <T> ObjectCreator<T>` | InternalUtils.`createMethodInvocationPlan​(OperationTracker tracker, ObjectLocator locator, InjectionResources resources, org.slf4j.Logger logger, java.lang.String description, java.lang.Object instance, java.lang.reflect.Method method)` |

    Methods in org.apache.tapestry5.ioc.internal.util with parameters of type ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `static java.lang.Object[]` | InternalUtils.`realizeObjects​(ObjectCreator[] creators)` |

    Constructors in org.apache.tapestry5.ioc.internal.util with parameters of type ObjectCreator
    Constructor | Description
    --- | ---
    `ConstructorInvoker​(java.lang.reflect.Constructor constructor, ObjectCreator[] constructorParameters)` |
    `MethodInvoker​(java.lang.Object instance, java.lang.reflect.Method method, ObjectCreator[] methodParameters)` |

  - ### Uses of ObjectCreator in org.apache.tapestry5.ioc.services

    Methods in org.apache.tapestry5.ioc.services that return ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> ObjectCreator<T>` | PerthreadManager.`createValue​(ObjectCreator<T> delegate)` | Return `ObjectCreator`, which for each thread, the first call will use the delegate `ObjectCreator` to create an instance, and later calls will reuse the same per-thread instance.

    Methods in org.apache.tapestry5.ioc.services with parameters of type ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> T` | ThunkCreator.`createThunk​(java.lang.Class<T> proxyType, ObjectCreator objectCreator, java.lang.String description)` | Creates a Thunk of the given proxy type.
    `<T> ObjectCreator<T>` | PerthreadManager.`createValue​(ObjectCreator<T> delegate)` | Return `ObjectCreator`, which for each thread, the first call will use the delegate `ObjectCreator` to create an instance, and later calls will reuse the same per-thread instance.

  - ### Uses of ObjectCreator in org.apache.tapestry5.ioc.test

    Methods in org.apache.tapestry5.ioc.test that return ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ObjectCreator` | IOCTestCase.`mockObjectCreator()` | Deprecated.

    Methods in org.apache.tapestry5.ioc.test with parameters of type ObjectCreator
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | IOCTestCase.`train_createObject​(ObjectCreator creator, java.lang.Object service)` | Deprecated.