Added updated 3.0 api diffs.

git-svn-id: https://google-guice.googlecode.com/svn/trunk@1520 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/latest-api-diffs/3.0.xml b/latest-api-diffs/3.0.xml
index fa5595b..884cc45 100755
--- a/latest-api-diffs/3.0.xml
+++ b/latest-api-diffs/3.0.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="iso-8859-1" standalone="no"?>

 <!-- Generated by the JDiff Javadoc doclet -->

 <!-- (http://www.jdiff.org) -->

-<!-- on Sun Jan 09 11:27:08 EST 2011 -->

+<!-- on Sun Mar 06 18:30:11 EST 2011 -->

 

 <api

   xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'

@@ -1369,7 +1369,9 @@
 
  <p>Just-in-time bindings created for child injectors will be created in an ancestor injector
  whenever possible. This allows for scoped instances to be shared between injectors. Use
- explicit bindings to prevent bindings from being shared with the parent injector.
+ explicit bindings to prevent bindings from being shared with the parent injector.  Optional
+ injections in just-in-time bindings (created in the parent injector) may be silently
+ ignored if the optional dependencies are from the child injector.
 
  <p>No key may be bound by both an injector and one of its ancestors. This includes just-in-time
  bindings. The lone exception is the key for {@code Injector.class}, which is bound by each
@@ -2262,7 +2264,7 @@
       static="false" final="false" visibility="public"

       deprecated="not deprecated">

       <doc>

-      <![CDATA[Creates a ConfigurationException containing {@code messages}.]]>

+      <![CDATA[Creates a ProvisionException containing {@code messages}.]]>

       </doc>

     </constructor>

     <constructor name="ProvisionException" type="java.lang.String, java.lang.Throwable"

@@ -3017,6 +3019,26 @@
 
  As a side-effect of this binding, Guice will inject the factory to initialize it for use. The
  factory cannot be used until the injector has been initialized.
+ 
+ <h3>Configuring complex factories</h3>
+ Factories can create an arbitrary number of objects, one per each method.  Each factory
+ method can be configured using <code>.implement</code>.
+
+ <pre>public interface OrderFactory {
+    Payment create(Date startDate, Money amount);
+    Shipment create(Customer customer, Item item);
+    Receipt create(Payment payment, Shipment shipment);
+ }
+ 
+ [...]
+ 
+ install(new FactoryModuleBuilder()
+     .implement(Payment.class, RealPayment.class)
+     // excluding .implement for Shipment means the implementation class
+     // will be 'Shipment' itself, which is legal if it's not an interface.
+     .implement(Receipt.class, RealReceipt.class)
+     .build(OrderFactory.class);</pre>
+ </pre>
 
  <h3>Using the factory</h3>
  Inject your factory into your application classes. When you use the factory, your arguments
@@ -4124,6 +4146,17 @@
  dependencies and bindings.]]>

       </doc>

     </method>

+    <method name="rootedAt" return="com.google.inject.grapher.InjectorGrapher"

+      abstract="false" native="false" synchronized="false"

+      static="false" final="false" visibility="public"

+      deprecated="not deprecated">

+      <param name="keys" type="com.google.inject.Key[]"/>

+      <doc>

+      <![CDATA[Sets an initial group of {@link Key}s to use as the starting point for
+ the graph. The graph will be of these keys and their transitive
+ dependencies and bindings.]]>

+      </doc>

+    </method>

     <method name="graph"

       abstract="false" native="false" synchronized="false"

       static="false" final="false" visibility="public"

@@ -4142,8 +4175,9 @@
  {@link Renderer}.
  <p>
  By default, this will graph the entire {@link Injector}. Use
- {@link #rootedAt(Class...)} to specify an initial set of {@link Class}es to
- use, and this will graph their transitive bindings and dependencies.
+ {@link #rootedAt(Class...)} or {@link #rootedAt(Key...)} to specify an
+ initial set of {@link Class}es or {@link Key}s to use, and this will graph
+ their transitive bindings and dependencies.
 
  @author phopkins@gmail.com (Pete Hopkins)]]>

     </doc>

@@ -9666,8 +9700,7 @@
  GS2 and fixes several bugs.
 
  @author dhanji@gmail.com
- @author benmccann.com
- @since 3.0]]>

+ @author benmccann.com]]>

     </doc>

   </class>

   <!-- end class com.google.inject.struts2.Struts2Factory -->

@@ -9690,8 +9723,7 @@
  Must be added to the injector returned by
      {@link GuiceServletContextListener.getInjector()}.
 
- @author benmccann.com
- @since 3.0]]>

+ @author benmccann.com]]>

     </doc>

   </class>

   <!-- end class com.google.inject.struts2.Struts2GuicePluginModule -->