* 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.
+ *
+ * <h2>Users of the package</h2>
+ *
+ * <p>Users of this package will typically use: </p>
+ * <ul>
+ * <li> <code>Injector</code>: This is the interface used to perform injection of dependencies into
+ * a given object. </li>
+ * <li> <code>Injectable</code>: By subclassing this class, the classes automatically get their
+ * dependencies injected at construction. </li>
+ * <li> <code>InjectorBuilder</code>: To get an instance of the <code>Injector</code>.
+ * </li>
+ * </ul>
+ *
+ * <h2>Implementors of the package</h2>
+ *
+ * <p>Of interest to implementations of this package integrating with dependency injection frameworks are: </p>
* <ul>
- * <li> <code>Injector</code>: The main interface is the {@link Injector}, by which injection is done.</li>
+ * <li> <code>Injector</code>: The main interface to be implemented is the {@link Injector}, by which injection is done.</li>
* <li> <code>InjectorFactory</code>: Injectors are created by an implementation of the {@link InjectorFactory} which
* creates injectors based on the class.</li>
- * <li> <code>InjectorFactoryBuilder</code>: To obtain an <code>InjectorFactory</code>,
- * 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.
+ * <li> <code>InjectorBuilder</code>: Implementations must make their <code>InjectorFactory</code>
+ * available through the <code>ServiceLoader</code> mechanism.
* </li>
* </ul>
*
+ * <p>Class overview</p>
* <img src="doc-files/Class_Diagram__overview.png"/>
- * <p>
- * 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).
- * </p>
- *
- * <p>
- * 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.
- * </p>
*
*/
package org.wamblee.inject;
-