Top Description Methods
org.glassfish.hk2.api

public Interface Factory<T>

Annotations
@Contract
Type Parameters
<T>
This must be the type of entity for which this is a factory. For example, if this were a factory for Foo, then your factory must implement Factory<Foo>.
Imports
org.jvnet.hk2.annotations.Contract

This interface should be implemented in order to provide a factory for another type. This is useful when the type has some reason that it cannot be a created in the usual way.

A factory may not have a TypeVariable or a Wildcard as its actual type. A factory may have any scope, and the scope of the factory is independent of the scope of the type it is providing.

The scope and qualifiers of the objects this factory is producing must be placed on the provide method itself. Objects created with this method will be put into the scope on the provide method, and will have the qualifiers of the provide method.

A factory is generally added with the FactoryDescriptors helper class, though factories can also be registered independently.

A Factory implementation may inject a InstantiationService. If it does so then the InstantiationService#getInstantiationData() method will return information about the caller of the provide method if that information is available. This can be used to customize the returned object based on the Injection point of the parent.

Author
jwells

Method Summary

Modifier and TypeMethod and Description
public void
dispose(T
The instance to dispose of
instance
)

This method will dispose of objects created with this scope.

public T

Returns:

The produces object
provide
()

This method will create instances of the type of this factory.

Method Detail

disposeback to summary
public void dispose(T instance)

This method will dispose of objects created with this scope. This method should not be annotated, as it is naturally paired with the provide method

Parameters
instance:T

The instance to dispose of

provideback to summary
public T provide()

This method will create instances of the type of this factory. The provide method must be annotated with the desired scope and qualifiers.

Returns:T

The produces object