1/** 2 * Copyright (C) 2006 Google Inc. 3 * 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 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 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. 15 */ 16 17/** 18 * <i>Google Guice</i> (pronounced "juice") is an ultra-lightweight dependency 19 * injection framework. Please refer to the Guice 20 * <a href="http://docs.google.com/Doc?id=dd2fhx4z_5df5hw8">User's Guide</a> 21 * for a gentle introduction. 22 * 23 * <p>The principal public APIs in this package are: 24 * 25 * <dl> 26 * <dt>{@link com.google.inject.Inject} 27 * <dd>The annotation you will use in your implementation classes to tell Guice 28 * where and how it should send in ("inject") the objects you depend on 29 * (your "dependencies"). 30 * 31 * <dt>{@link com.google.inject.Module} 32 * <dd>The interface you will implement in order to specify "bindings" -- 33 * instructions for how Guice should handle injection -- for a particular 34 * set of interfaces. 35 * 36 * <dt>{@link com.google.inject.Binder} 37 * <dd>The object that Guice passes into your {@link com.google.inject.Module} 38 * to collect these bindings. 39 * 40 * <dt>{@link com.google.inject.Provider} 41 * <dd>The interface you will implement when you need to customize exactly how 42 * Guice creates instances for a particular binding. 43 * 44 * </dl> 45 * 46 */ 47package com.google.inject;