<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<HTML>
<HEAD>
<meta name="generator" content="JDiff v1.1.1">
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
<TITLE>
com.google.inject
</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="../stylesheet-jdiff.css" TITLE="Style">
</HEAD>
<BODY>
<!-- Start of nav bar -->
<TABLE summary="Navigation bar" BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
  <TR>
    <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    <TABLE summary="Navigation bar" BORDER="0" CELLPADDING="0" CELLSPACING="3">
    <TR ALIGN="center" VALIGN="top">
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../v2/com/google/inject/package-summary.html" target="_top"><FONT CLASS="NavBarFont1"><B><tt>v2</tt></B></FONT></A>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="changes-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
      <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="docdiffs_index.html#com.google.inject!package"><FONT CLASS="NavBarFont1"><B>Text Changes</B></FONT></A>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="jdiff_statistics.html"><FONT CLASS="NavBarFont1"><B>Statistics</B></FONT></A>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="jdiff_help.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    </TR>
    </TABLE>
  </TD>
  <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Generated by<br><a href="http://www.jdiff.org" class="staysblack" target="_top">JDiff</a></b></EM></TD>
</TR>
<TR>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<B>PREV PACKAGE</B>&nbsp;
&nbsp;<A HREF="pkg_com.google.inject.binder.html"><B>NEXT PACKAGE</B></A>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <A HREF="../changes.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
  &nbsp;<A HREF="pkg_com.google.inject.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: &nbsp;
REMOVED&nbsp;|&nbsp;
<a href="#Added">ADDED</a>&nbsp;|&nbsp;
<a href="#Changed">CHANGED</a>
  </FONT></TD>
</TR>
</TABLE>
<HR>
<!-- End of nav bar -->
<H2>
Package <A HREF="../v2/com/google/inject/package-summary.html" target="_top"><tt>com.google.inject</tt></A>
</H2>
<p>
<a NAME="Added"></a>
<TABLE summary="Added Classes" BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  <TD VALIGN="TOP" COLSPAN=2><FONT SIZE="+1"><B>Added Classes</B></FONT></TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="ConfigurationException"></A>
  <nobr><A HREF="../v2/com/google/inject/ConfigurationException.html" target="_top"><tt>ConfigurationException</tt></A></nobr>
  </TD>
  <TD VALIGN="TOP">Thrown when a programming error such as a misplaced annotation, illegal binding, or unsupported
 scope is found.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Exposed"></A>
  <nobr><A HREF="../v2/com/google/inject/Exposed.html" target="_top"><tt>Exposed</tt></A></nobr>
  </TD>
  <TD VALIGN="TOP">Acccompanies a {@literal @}<A HREF="../v2/com/google/inject/Exposed/com/google/inject/Provides.html"><TT>Provides</TT></A> method annotation in a
 private module to indicate that the provided binding is exposed.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="OutOfScopeException"></A>
  <nobr><A HREF="../v2/com/google/inject/OutOfScopeException.html" target="_top"><tt>OutOfScopeException</tt></A></nobr>
  </TD>
  <TD VALIGN="TOP">Thrown from <A HREF="../v2/com/google/inject/OutOfScopeException/Provider.html#get"><TT>Provider.get</TT></A> when an attempt is made to access a scoped
 object while the scope in question is not currently active.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="PrivateModule"></A>
  <nobr><A HREF="../v2/com/google/inject/PrivateModule.html" target="_top"><tt>PrivateModule</tt></A></nobr>
  </TD>
  <TD VALIGN="TOP">A module whose configuration information is hidden from its environment by default.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Provides"></A>
  <nobr><A HREF="../v2/com/google/inject/Provides.html" target="_top"><tt>Provides</tt></A></nobr>
  </TD>
  <TD VALIGN="TOP">Annotates methods of a <A HREF="../v2/com/google/inject/Provides/Module.html"><TT>Module</TT></A> to create a provider method binding.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="ProvisionException"></A>
  <nobr><A HREF="../v2/com/google/inject/ProvisionException.html" target="_top"><tt>ProvisionException</tt></A></nobr>
  </TD>
  <TD VALIGN="TOP">Indicates that there was a runtime failure while providing an instance.</TD>
</TR>
</TABLE>
&nbsp;
<p>
<a NAME="Changed"></a>
<TABLE summary="Changed Classes and Interfaces" BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  <TD VALIGN="TOP" COLSPAN=2><FONT SIZE="+1"><B>Changed Classes and Interfaces</B></FONT></TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="AbstractModule"></A>
  <nobr><A HREF="com.google.inject.AbstractModule.html">AbstractModule</A></nobr>
  </TD>
  <TD VALIGN="TOP">A support class for <A HREF="../v2/com/google/inject/AbstractModule/Module.html"><TT>Module</TT></A>s which reduces repetition and results in
 a more readable configuration.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Binder"></A>
  <nobr><A HREF="com.google.inject.Binder.html"><I>Binder</I></A></nobr>
  </TD>
  <TD VALIGN="TOP">Collects configuration information (primarily <i>bindings</i>) which will be
 used to create an <A HREF="../v2/com/google/inject/Binder/Injector.html"><TT>Injector</TT></A>. Guice provides this object to your
 application's <A HREF="../v2/com/google/inject/Binder/Module.html"><TT>Module</TT></A> implementors so they may each contribute
 their own bindings and other registrations.

 <h3>The Guice Binding EDSL</h3>

 Guice uses an <i>embedded domain-specific language</i>, or EDSL, to help you
 create bindings simply and readably.  This approach is great for overall
 usability, but it does come with a small cost: <b>it is difficult to
 learn how to use the Binding EDSL by reading
 method-level javadocs</b>.  Instead, you should consult the series of
 examples below.  To save space, these examples omit the opening
 {@code binder}, just as you will if your module extends
 <A HREF="../v2/com/google/inject/Binder/AbstractModule.html"><TT>AbstractModule</TT></A>.

 <pre>
     bind(ServiceImpl.class);</pre>

 This statement does essentially nothing; it "binds the {@code ServiceImpl}
 class to itself" and does not change Guice's default behavior.  You may still
 want to use this if you prefer your <A HREF="../v2/com/google/inject/Binder/Module.html"><TT>Module</TT></A> class to serve as an
 explicit <i>manifest</i> for the services it provides.  Also, in rare cases,
 Guice may be unable to validate a binding at injector creation time unless it
 is given explicitly.

 <pre>
     bind(Service.class).to(ServiceImpl.class);</pre>

 Specifies that a request for a {@code Service} instance with no binding
 annotations should be treated as if it were a request for a
 {@code ServiceImpl} instance. This <i>overrides</i> the function of any
 <A HREF="../v2/com/google/inject/Binder/ImplementedBy.html"><TT>@ImplementedBy</TT></A> or <A HREF="../v2/com/google/inject/Binder/ProvidedBy.html"><TT>@ProvidedBy</TT></A>
 annotations found on {@code Service}, since Guice will have already
 "moved on" to {@code ServiceImpl} before it reaches the point when it starts
 looking for these annotations.

 <pre>
     bind(Service.class).toProvider(ServiceProvider.class);</pre>

 In this example, {@code ServiceProvider} must extend or implement
 {@code Provider<Service>}. This binding specifies that Guice should resolve
 an unannotated injection request for {@code Service} by first resolving an
 instance of {@code ServiceProvider} in the regular way, then calling
 <A HREF="../v2/com/google/inject/Binder/Provider.html#get"><TT>get()</TT></A> on the resulting Provider instance to obtain the
 {@code Service} instance.

 </TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Binding"></A>
  <nobr><A HREF="com.google.inject.Binding.html"><I>Binding</I></A></nobr>
  </TD>
  <TD VALIGN="TOP">A mapping from a key (type and optional annotation) to the strategy for getting instances of the
 type.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="BindingAnnotation"></A>
  <nobr><A HREF="com.google.inject.BindingAnnotation.html">BindingAnnotation</A></nobr>
  </TD>
  <TD VALIGN="TOP">Annotates annotations which are used for binding.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="CreationException"></A>
  <nobr><A HREF="com.google.inject.CreationException.html">CreationException</A></nobr>
  </TD>
  <TD VALIGN="TOP">Thrown when errors occur while creating a <A HREF="../v2/com/google/inject/CreationException/Injector.html"><TT>Injector</TT></A>.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Guice"></A>
  <nobr><A HREF="com.google.inject.Guice.html">Guice</A></nobr>
  </TD>
  <TD VALIGN="TOP">The entry point to the Guice framework. Creates <A HREF="../v2/com/google/inject/Guice/Injector.html"><TT>Injector</TT></A>s from
 <A HREF="../v2/com/google/inject/Guice/Module.html"><TT>Module</TT></A>s.

 </TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Injector"></A>
  <nobr><A HREF="com.google.inject.Injector.html"><I>Injector</I></A></nobr>
  </TD>
  <TD VALIGN="TOP">Builds the graphs of objects that make up your application.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Key"></A>
  <nobr><A HREF="com.google.inject.Key.html">Key</A></nobr>
  </TD>
  <TD VALIGN="TOP">Binding key consisting of an injection type and an optional annotation.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Module"></A>
  <nobr><A HREF="com.google.inject.Module.html"><I>Module</I></A></nobr>
  </TD>
  <TD VALIGN="TOP">A module contributes configuration information, typically interface
 bindings, which will be used to create an <A HREF="../v2/com/google/inject/Module/Injector.html"><TT>Injector</TT></A>.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Provider"></A>
  <nobr><A HREF="com.google.inject.Provider.html"><I>Provider</I></A></nobr>
  </TD>
  <TD VALIGN="TOP">An object capable of providing instances of type {@code T}.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Scope"></A>
  <nobr><A HREF="com.google.inject.Scope.html"><I>Scope</I></A></nobr>
  </TD>
  <TD VALIGN="TOP">A scope is a level of visibility that instances provided by Guice may have.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="Scopes"></A>
  <nobr><A HREF="com.google.inject.Scopes.html">Scopes</A></nobr>
  </TD>
  <TD VALIGN="TOP">Built-in scope implementations.</TD>
</TR>
<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
  <TD VALIGN="TOP" WIDTH="25%">
  <A NAME="TypeLiteral"></A>
  <nobr><A HREF="com.google.inject.TypeLiteral.html">TypeLiteral</A></nobr>
  </TD>
  <TD VALIGN="TOP">Represents a generic type {@code T}.</TD>
</TR>
</TABLE>
&nbsp;
<HR>
<!-- Start of nav bar -->
<TABLE summary="Navigation bar" BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
  <TR>
    <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
    <TABLE summary="Navigation bar" BORDER="0" CELLPADDING="0" CELLSPACING="3">
    <TR ALIGN="center" VALIGN="top">
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../v2/com/google/inject/package-summary.html" target="_top"><FONT CLASS="NavBarFont1"><B><tt>v2</tt></B></FONT></A>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="changes-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
      <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="docdiffs_index.html#com.google.inject!package"><FONT CLASS="NavBarFont1"><B>Text Changes</B></FONT></A>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="jdiff_statistics.html"><FONT CLASS="NavBarFont1"><B>Statistics</B></FONT></A>&nbsp;</TD>
      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="jdiff_help.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
    </TR>
    </TABLE>
  </TD>
  <TD ALIGN="right" VALIGN="top" ROWSPAN=3></TD>
</TR>
<TR>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<B>PREV PACKAGE</B>&nbsp;
&nbsp;<A HREF="pkg_com.google.inject.binder.html"><B>NEXT PACKAGE</B></A>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <A HREF="../changes.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
  &nbsp;<A HREF="pkg_com.google.inject.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
<TD BGCOLOR="0xFFFFFF" CLASS="NavBarCell3"></TD>
</TR>
</TABLE>
<HR>
<!-- End of nav bar -->
</BODY>
</HTML>
