2 * Copyright 2005-2010 the original author or authors.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 * This package provides a simple general framework for dependency injection.
19 * <li> <code>Injector</code>: The main interface is the {@link Injector}, by which injection is done.</li>
20 * <li> <code>InjectorFactory</code>: Injectors are created by an implementation of the {@link InjectorFactory} which
21 * creates injectors based on the class.</li>
22 * <li> <code>InjectorFactoryBuilder</code>: To obtain an <code>InjectorFactory</code>,
23 * either create one explicitly, or use {@link InjectorFactoryBuilder} to obtain
24 * one automatically (preferred). The last method uses {@link java.util.ServiceLoader}
25 * to find the injectorfactory to use.
29 * Note that this package does not contain implementations of the injectors. For that, a separate
30 * package must be used (e.g. for Contexts and Dependency Injection).
32 * Implementations of this package must provide an implementation of the {@link InjectorFactory} and
33 * must make this implementation discoverable through the {@link java.util.ServiceLoader} mechanism.
37 package org.wamblee.inject;