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 -->