<!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">
<LINK REL="stylesheet" TYPE="text/css" HREF="../stylesheet-jdiff.css" TITLE="Style">
<TITLE>
com.google.inject Documentation Differences
</TITLE>
</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="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/com/google/inject/package-summary.html" target="_top"><FONT CLASS="NavBarFont1"><B><tt>4.0</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="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Package</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"><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">
  <B>PREV PACKAGE</B>  &nbsp;
  &nbsp;<A HREF="docdiffs_com.google.inject.grapher.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="docdiffs_com.google.inject.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2">&nbsp;</TD>
</TR>
</TABLE>
<HR>
<!-- End of nav bar -->
<h2>
com.google.inject Documentation Differences
</h2>

<blockquote>
This file contains all the changes in documentation in the package <code>com.google.inject</code> as colored differences.
Deletions are shown <strike>like this</strike>, and
additions are shown <span style="background: #FFFF00">like this</span>.
</blockquote>
<blockquote>
If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The <i>new</i> HTML tags are shown in the differences. 
If no documentation existed, and then some was added in a later version, this change is noted in the appropriate class pages of differences, but the change is not shown on this page. Only changes in existing text are shown here. 
Similarly, documentation which was inherited from another class or interface is not shown here.
</blockquote>
<blockquote>
 Note that an HTML error in the new documentation may cause the display of other documentation changes to be presented incorrectly. For instance, failure to close a &lt;code&gt; tag will cause all subsequent paragraphs to be displayed differently.
</blockquote>
<hr>

<A NAME="com.google.inject.Binder.dmethod.bindInterceptor(Matcher&lt;Class&lt;?&gt;&gt;, Matcher&lt;Method&gt;, MethodInterceptor[])"></A><a href="com.google.inject.Binder.html" class="hiddenlink">Class <b>Binder</b></a>, <a href="com.google.inject.Binder.html#com.google.inject.Binder.bindInterceptor_changed(com.google.inject.matcher.Matcher<? super java.lang.Class<?>>, com.google.inject.matcher.Matcher<? super java.lang.reflect.Method>, org.aopalliance.intercept.MethodInterceptor[])" class="hiddenlink">void <b>bindInterceptor(Matcher&lt;Class&lt;?&gt;&gt;, Matcher&lt;Method&gt;, MethodInterceptor[])</b></a><br><br><blockquote>Binds method interceptor[s] to methods matched by class and method matchers. A method is
 eligible for interception if:

 <ul>
  <li>Guice created the instance the method is on</li>
  <li>Neither the enclosing type nor the method is final</li>
  <li>And the method is package-private, protected, or public</li>
 </ul>

 @param classMatcher matches classes the interceptor should apply to. For
     example: {@code only(Runnable.class)}.
 @param methodMatcher matches methods the interceptor should apply to. For
     example: {@code annotatedWith(Transactional.class)}.
 @param interceptors to bind<span style="background: #FFFF00">.  The interceptors are called in the order they
     are given.</span></blockquote>
<hr align="left" width="100%">
<A NAME="com.google.inject.Guice.dmethod.createInjector(Iterable&lt;Module&gt;)"></A><a href="com.google.inject.Guice.html" class="hiddenlink">Class <b>Guice</b></a>, <a href="com.google.inject.Guice.html#com.google.inject.Guice.createInjector_changed(java.lang.Iterable<? extends com.google.inject.Module>)" class="hiddenlink">Injector <b>createInjector(Iterable&lt;Module&gt;)</b></a><br><br><blockquote>Creates an injector for the given set of modules.<span style="background: #FFFF00"> This is equivalent to
 calling <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/.html#createInjector(Stage, Iterable)"><TT>.createInjector(Stage, Iterable)</TT></A> with Stage.DEVELOPMENT.</span>

 @throws CreationException if one or more errors occur during injector
     creation</blockquote>
<A NAME="com.google.inject.Guice.dmethod.createInjector(Module[])"></A><a href="com.google.inject.Guice.html" class="hiddenlink">Class <b>Guice</b></a>, <a href="com.google.inject.Guice.html#com.google.inject.Guice.createInjector_changed(com.google.inject.Module[])" class="hiddenlink">Injector <b>createInjector(Module[])</b></a><br><br><blockquote>Creates an injector for the given set of modules.<span style="background: #FFFF00"> This is equivalent to
 calling <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/.html#createInjector(Stage, Module...)"><TT>.createInjector(Stage, Module...)</TT></A> with Stage.DEVELOPMENT.</span>

 @throws CreationException if one or more errors occur during injector
     construction</blockquote>
<hr align="left" width="100%">
<A NAME="com.google.inject.Inject!class"></A><a href="com.google.inject.Inject.html" class="hiddenlink">Class <b>Inject</b></a><br><br><blockquote>Annotates members of your implementation class (constructors, methods
 and fields) into which the <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/com/google/inject/Inject/Injector.html"><TT>Injector</TT></A> should inject values.
 The Injector fulfills injection requests for:

 <ul>
 <li>Every instance it constructs. The class being constructed must have
 exactly one of its constructors marked with {@code @Inject} or must have a
 constructor taking no parameters. The Injector then proceeds to perform
 <strike>method</strike><span style="background: #FFFF00">field</span> and <strike>field</strike><span style="background: #FFFF00">method</span> injections.
 
 <li>Pre-constructed instances passed to <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/com/google/inject/Inject/Injector.html#injectMembers"><TT>Injector.injectMembers</TT></A>,
 <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/com/google/inject/Inject/com/google/inject/binder/LinkedBindingBuilder.html#toInstance(Object)"><TT>com.google.inject.binder.LinkedBindingBuilder.toInstance(Object)</TT></A> and
 <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/com/google/inject/Inject/com/google/inject/binder/LinkedBindingBuilder.html#toProvider(Provider)"><TT>com.google.inject.binder.LinkedBindingBuilder.toProvider(Provider)</TT></A>.
 In this case all constructors are, of course, ignored.

 <li>Static fields and methods of classes which any <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/com/google/inject/Inject/Module.html"><TT>Module</TT></A> has
 specifically requested static injection for, using
 <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/com/google/inject/Inject/Binder.html#requestStaticInjection"><TT>Binder.requestStaticInjection</TT></A>.
 </ul>

 In all cases, a member can be injected regardless of its Java access
 specifier (private, default, protected, public).

 @author crazybob@google.com (Bob Lee)</blockquote>
<hr align="left" width="100%">
<A NAME="com.google.inject.Key.dmethod.hasAttributes()"></A><a href="com.google.inject.Key.html" class="hiddenlink">Class <b>Key</b></a>, <a href="com.google.inject.Key.html#com.google.inject.Key.hasAttributes_changed()" class="hiddenlink">boolean <b>hasAttributes()</b></a><br><br><blockquote>Returns true if this key has annotation attributes.<strike>
</strike><span style="background: #FFFF00">

</span> <strike>
 </strike>@since 3.0</blockquote>
<A NAME="com.google.inject.Key.dmethod.ofType(Class&lt;T&gt;)"></A><a href="com.google.inject.Key.html" class="hiddenlink">Class <b>Key</b></a>, <a href="com.google.inject.Key.html#com.google.inject.Key.ofType_changed(java.lang.Class<T>)" class="hiddenlink">Key&lt;T&gt; <b>ofType(Class&lt;T&gt;)</b></a><br><br><blockquote>Returns a new key of the specified type with the same annotation as this
 key.<strike>
</strike><span style="background: #FFFF00">

</span> <strike>
 </strike>@since 3.0</blockquote>
<A NAME="com.google.inject.Key.dmethod.ofType(Type)"></A><a href="com.google.inject.Key.html" class="hiddenlink">Class <b>Key</b></a>, <a href="com.google.inject.Key.html#com.google.inject.Key.ofType_changed(java.lang.reflect.Type)" class="hiddenlink">Key&lt;?&gt; <b>ofType(Type)</b></a><br><br><blockquote>Returns a new key of the specified type with the same annotation as this
 key.<strike>
</strike><span style="background: #FFFF00">

</span> <strike>
 </strike>@since 3.0</blockquote>
<A NAME="com.google.inject.Key.dmethod.ofType(TypeLiteral&lt;T&gt;)"></A><a href="com.google.inject.Key.html" class="hiddenlink">Class <b>Key</b></a>, <a href="com.google.inject.Key.html#com.google.inject.Key.ofType_changed(com.google.inject.TypeLiteral<T>)" class="hiddenlink">Key&lt;T&gt; <b>ofType(TypeLiteral&lt;T&gt;)</b></a><br><br><blockquote>Returns a new key of the specified type with the same annotation as this
 key.<strike>
</strike><span style="background: #FFFF00">

</span> <strike>
 </strike>@since 3.0</blockquote>
<A NAME="com.google.inject.Key.dmethod.withoutAttributes()"></A><a href="com.google.inject.Key.html" class="hiddenlink">Class <b>Key</b></a>, <a href="com.google.inject.Key.html#com.google.inject.Key.withoutAttributes_changed()" class="hiddenlink">Key&lt;T&gt; <b>withoutAttributes()</b></a><br><br><blockquote>Returns this key without annotation attributes, i.e. with only the
 annotation type.<strike>
</strike><span style="background: #FFFF00">

</span> <strike>
 </strike>@since 3.0</blockquote>
<hr align="left" width="100%">
<A NAME="com.google.inject.Provides!class"></A><a href="com.google.inject.Provides.html" class="hiddenlink">Class <b>Provides</b></a><br><br><blockquote>Annotates methods of a <A HREF="http://google-guice.googlecode.com/git/latest-api-diffs/4.0/javadoc/com/google/inject/Provides/Module.html"><TT>Module</TT></A> to create a provider method binding. The method's return
 type is bound to <strike>it's</strike><span style="background: #FFFF00">its</span> returned value. Guice will pass dependencies to the method as parameters.

 @author crazybob@google.com (Bob Lee)
 @since 2.0</blockquote>
<hr align="left" width="100%">

</BODY>
</HTML>
