blob: d0149f0f9b65937dc8391cb1dbc4210ef0bd1803 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_07) on Tue May 19 10:54:05 PDT 2009 -->
<TITLE>
com.google.inject (Guice 2.0 API)
</TITLE>
<META NAME="date" CONTENT="2009-05-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="com.google.inject (Guice 2.0 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV PACKAGE&nbsp;
&nbsp;<A HREF="../../../com/google/inject/assistedinject/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?com/google/inject/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<H2>
Package com.google.inject
</H2>
<i>Google Guice</i> (pronounced "juice") is an ultra-lightweight dependency
injection framework.
<P>
<B>See:</B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Interface Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Binder.html" title="interface in com.google.inject">Binder</A></B></TD>
<TD>Collects configuration information (primarily <i>bindings</i>) which will be
used to create an <A HREF="../../../com/google/inject/Injector.html" title="interface in com.google.inject"><CODE>Injector</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Binding.html" title="interface in com.google.inject">Binding&lt;T&gt;</A></B></TD>
<TD>A mapping from a key (type and optional annotation) to the strategy for getting instances of the
type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Injector.html" title="interface in com.google.inject">Injector</A></B></TD>
<TD>Builds the graphs of objects that make up your application.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/MembersInjector.html" title="interface in com.google.inject">MembersInjector&lt;T&gt;</A></B></TD>
<TD>Injects dependencies into the fields and methods on instances of type <code>T</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Module.html" title="interface in com.google.inject">Module</A></B></TD>
<TD>A module contributes configuration information, typically interface
bindings, which will be used to create an <A HREF="../../../com/google/inject/Injector.html" title="interface in com.google.inject"><CODE>Injector</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/PrivateBinder.html" title="interface in com.google.inject">PrivateBinder</A></B></TD>
<TD>Returns a binder whose configuration information is hidden from its environment by default.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Provider.html" title="interface in com.google.inject">Provider&lt;T&gt;</A></B></TD>
<TD>An object capable of providing instances of type <code>T</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Scope.html" title="interface in com.google.inject">Scope</A></B></TD>
<TD>A scope is a level of visibility that instances provided by Guice may have.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/AbstractModule.html" title="class in com.google.inject">AbstractModule</A></B></TD>
<TD>A support class for <A HREF="../../../com/google/inject/Module.html" title="interface in com.google.inject"><CODE>Module</CODE></A>s which reduces repetition and results in
a more readable configuration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Guice.html" title="class in com.google.inject">Guice</A></B></TD>
<TD>The entry point to the Guice framework.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Key.html" title="class in com.google.inject">Key&lt;T&gt;</A></B></TD>
<TD>Binding key consisting of an injection type and an optional annotation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/PrivateModule.html" title="class in com.google.inject">PrivateModule</A></B></TD>
<TD>A module whose configuration information is hidden from its environment by default.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Scopes.html" title="class in com.google.inject">Scopes</A></B></TD>
<TD>Built-in scope implementations.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/TypeLiteral.html" title="class in com.google.inject">TypeLiteral&lt;T&gt;</A></B></TD>
<TD>Represents a generic type <code>T</code>.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Enum Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Stage.html" title="enum in com.google.inject">Stage</A></B></TD>
<TD>The stage we're running in.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Exception Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/ConfigurationException.html" title="class in com.google.inject">ConfigurationException</A></B></TD>
<TD>Thrown when a programming error such as a misplaced annotation, illegal binding, or unsupported
scope is found.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/CreationException.html" title="class in com.google.inject">CreationException</A></B></TD>
<TD>Thrown when errors occur while creating a <A HREF="../../../com/google/inject/Injector.html" title="interface in com.google.inject"><CODE>Injector</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/OutOfScopeException.html" title="class in com.google.inject">OutOfScopeException</A></B></TD>
<TD>Thrown from <A HREF="../../../com/google/inject/Provider.html#get()"><CODE>Provider.get()</CODE></A> when an attempt is made to access a scoped
object while the scope in question is not currently active.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/ProvisionException.html" title="class in com.google.inject">ProvisionException</A></B></TD>
<TD>Indicates that there was a runtime failure while providing an instance.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Annotation Types Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/BindingAnnotation.html" title="annotation in com.google.inject">BindingAnnotation</A></B></TD>
<TD>Annotates annotations which are used for binding.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Exposed.html" title="annotation in com.google.inject">Exposed</A></B></TD>
<TD>Acccompanies a @<A HREF="../../../com/google/inject/Provides.html" title="annotation in com.google.inject"><CODE>Provides</CODE></A> method annotation in a
private module to indicate that the provided binding is exposed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/ImplementedBy.html" title="annotation in com.google.inject">ImplementedBy</A></B></TD>
<TD>A pointer to the default implementation of a type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject">Inject</A></B></TD>
<TD>Annotates members of your implementation class (constructors, methods
and fields) into which the <A HREF="../../../com/google/inject/Injector.html" title="interface in com.google.inject"><CODE>Injector</CODE></A> should inject values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/ProvidedBy.html" title="annotation in com.google.inject">ProvidedBy</A></B></TD>
<TD>A pointer to the default provider type for a type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Provides.html" title="annotation in com.google.inject">Provides</A></B></TD>
<TD>Annotates methods of a <A HREF="../../../com/google/inject/Module.html" title="interface in com.google.inject"><CODE>Module</CODE></A> to create a provider method binding.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/ScopeAnnotation.html" title="annotation in com.google.inject">ScopeAnnotation</A></B></TD>
<TD>Annotates annotations which are used for scoping.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Singleton.html" title="annotation in com.google.inject">Singleton</A></B></TD>
<TD>Apply this to implementation classes when you want only one instance
(per <A HREF="../../../com/google/inject/Injector.html" title="interface in com.google.inject"><CODE>Injector</CODE></A>) to be reused for all injections for that binding.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="package_description"><!-- --></A><H2>
Package com.google.inject Description
</H2>
<P>
<i>Google Guice</i> (pronounced "juice") is an ultra-lightweight dependency
injection framework. Please refer to the Guice
<a href="http://docs.google.com/Doc?id=dd2fhx4z_5df5hw8">User's Guide</a>
for a gentle introduction.
<p>The principal public APIs in this package are:
<dl>
<dt><A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><CODE>Inject</CODE></A>
<dd>The annotation you will use in your implementation classes to tell Guice
where and how it should send in ("inject") the objects you depend on
(your "dependencies").
<dt><A HREF="../../../com/google/inject/Module.html" title="interface in com.google.inject"><CODE>Module</CODE></A>
<dd>The interface you will implement in order to specify "bindings" --
instructions for how Guice should handle injection -- for a particular
set of interfaces.
<dt><A HREF="../../../com/google/inject/Binder.html" title="interface in com.google.inject"><CODE>Binder</CODE></A>
<dd>The object that Guice passes into your <A HREF="../../../com/google/inject/Module.html" title="interface in com.google.inject"><CODE>Module</CODE></A>
to collect these bindings.
<dt><A HREF="../../../com/google/inject/Provider.html" title="interface in com.google.inject"><CODE>Provider</CODE></A>
<dd>The interface you will implement when you need to customize exactly how
Guice creates instances for a particular binding.
</dl>
<P>
<P>
<DL>
</DL>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV PACKAGE&nbsp;
&nbsp;<A HREF="../../../com/google/inject/assistedinject/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?com/google/inject/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>