X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=support%2Finject%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Finject%2Fpackage-info.java;h=2d07bb1f46c9304c662226f743e793e852c6740f;hb=26805fc0810098c4bd8009a35c8719478e74153e;hp=3cc9841efa66b9496980dd78cf18cd34f4051f12;hpb=0c766c814269f448aae0bd1ac0e50f6acfef66ed;p=utils diff --git a/support/inject/src/main/java/org/wamblee/inject/package-info.java b/support/inject/src/main/java/org/wamblee/inject/package-info.java index 3cc9841e..2d07bb1f 100644 --- a/support/inject/src/main/java/org/wamblee/inject/package-info.java +++ b/support/inject/src/main/java/org/wamblee/inject/package-info.java @@ -14,30 +14,38 @@ * limitations under the License. */ /** - * This package provides a simple general framework for dependency injection. + * This package provides a mini-framework for interfacing to existing dependency injection + * mechanisms. This package does not provide dependency injection, but implementations are expected to + * implement it, usually by delegating to an existing dependency injection framework. The interfaces in this + * package provide independence on the actual framework chosen and also allow for better testability. + * + *
Users of this package will typically use:
+ *Injector
: This is the interface used to perform injection of dependencies into
+ * a given object. Injectable
: By subclassing this class, the classes automatically get their
+ * dependencies injected at construction. InjectorBuilder
: To get an instance of the Injector
.
+ * Of interest to implementations of this package integrating with dependency injection frameworks are:
*Injector
: The main interface is the {@link Injector}, by which injection is done.Injector
: The main interface to be implemented is the {@link Injector}, by which injection is done.InjectorFactory
: Injectors are created by an implementation of the {@link InjectorFactory} which
* creates injectors based on the class.InjectorFactoryBuilder
: To obtain an InjectorFactory
,
- * either create one explicitly, or use {@link InjectorFactoryBuilder} to obtain
- * one automatically (preferred). The last method uses {@link java.util.ServiceLoader}
- * to find the injectorfactory to use.
+ * InjectorBuilder
: Implementations must make their InjectorFactory
+ * available through the ServiceLoader
mechanism.
* Class overview
*- * Note that this package does not contain implementations of the injectors. For that, a separate - * package must be used (e.g. for Contexts and Dependency Injection). - *
- * - *- * Implementations of this package must provide an implementation of the {@link InjectorFactory} and - * must make this implementation discoverable through the {@link java.util.ServiceLoader} mechanism. - *
* */ package org.wamblee.inject; -