Static fields and methods of classes which any {@link Module} has
@@ -1207,20 +1207,20 @@
In all cases, a member can be injected regardless of its Java access
specifier (private, default, protected, public).
- @author crazybob@google.com (Bob Lee)]]>
-
The returned map does not include bindings inherited from a {@link #getParent() parent
@@ -1277,14 +1277,14 @@
its {@link Map#entrySet()} iterator) in the order of insertion. In other words, the order in
which bindings appear in user Modules.
-
This method is part of the Guice SPI and is intended for use by tools and extensions.]]>
-
-
-
-
+
This method is part of the Guice SPI and is intended for use by tools and extensions.]]>
+
+
+
+
both explicit and
just-in-time. The returned map is immutable; it contains only the bindings that were
present when {@code getAllBindings()} was invoked. Subsequent calls may return a map with
@@ -1295,30 +1295,30 @@
This method is part of the Guice SPI and is intended for use by tools and extensions.
- @since 3.0]]>
-
-
-
-
-
+ @since 3.0]]>
+
+
+
+
+
This method is part of the Guice SPI and is intended for use by tools and extensions.
- @throws ConfigurationException if this injector cannot find or create the binding.]]>
-
-
-
-
-
+ @throws ConfigurationException if this injector cannot find or create the binding.]]>
+
+
+
+
+
This method is part of the Guice SPI and is intended for use by tools and extensions.
@throws ConfigurationException if this injector cannot find or create the binding.
- @since 2.0]]>
-
-
-
-
-
+ @since 2.0]]>
+
+
+
+
+
This method is part of the Guice SPI and is intended for use by tools and extensions.
- @since 3.0]]>
-
-
-
-
-
+ @since 3.0]]>
+
+
+
+
+
This method is part of the Guice SPI and is intended for use by tools and extensions.]]>
-
-
-
-
-
+
This method is part of the Guice SPI and is intended for use by tools and extensions.]]>
+
+
+
+
+
-
-
-
-
-
+ @see Binder#getProvider(Key) for an alternative that offers up front error detection]]>
+
+
+
+
+
-
-
-
-
-
+ @see Binder#getProvider(Class) for an alternative that offers up front error detection]]>
+
+
+
+
+
-
-
-
-
-
+ @throws ProvisionException if there was a runtime failure while providing an instance.]]>
+
+
+
+
+
-
-
-
-
+ @throws ProvisionException if there was a runtime failure while providing an instance.]]>
+
+
+
+
-
-
-
-
-
+ @since 2.0]]>
+
+
+
+
+
-
-
-
-
-
+ @since 2.0]]>
+
+
+
+
+
-
-
-
-
+ @since 2.0]]>
+
+
+
+
This method is part of the Guice SPI and is intended for use by tools and extensions.
- @since 3.0]]>
-
-
-
-
+ @since 3.0]]>
+
+
+
+
This method is part of the Guice SPI and is intended for use by tools and extensions.
- @since 3.0]]>
-
-
-
+ @since 3.0]]>
+
+
+
-
-
-
-
-
-
-
+ @author jessewilson@google.com (Jesse Wilson)]]>
+
+
+
+
+
+
+
Clients create an empty anonymous subclass. Doing so embeds the type
@@ -1540,13 +1540,13 @@
Example usage for a binding of type {@code Foo} annotated with
{@code @Bar}:
-
{@code new Key(Bar.class) {}}.]]>
-
-
-
-
+
{@code new Key(Bar.class) {}}.]]>
+
+
+
+
Clients create an empty anonymous subclass. Doing so embeds the type
@@ -1556,13 +1556,13 @@
Example usage for a binding of type {@code Foo} annotated with
{@code @Bar}:
-
{@code new Key(new Bar()) {}}.]]>
-
-
-
-
+
{@code new Key(new Bar()) {}}.]]>
+
+
+
+
Clients create an empty anonymous subclass. Doing so embeds the type
@@ -1571,194 +1571,194 @@
Example usage for a binding of type {@code Foo}:
-
The set's iteration order is consistent with the binding order. This is
convenient when multiple elements are contributed by the same module because
that module can order its bindings appropriately. Avoid relying on the
iteration order of elements contributed by different modules, since there is
no equivalent mechanism to order modules.
-
+
The set is unmodifiable. Elements can only be added to the set by
configuring the multibinder. Elements can never be removed from the set.
@@ -5867,64 +5878,64 @@
Elements must be non-null. If any set element is null,
set injection will fail.
- @author jessewilson@google.com (Jesse Wilson)]]>
-
-
-
-
-
-
-
-
-
-
-
-
+ @author jessewilson@google.com (Jesse Wilson)]]>
+
+
+
+
+
+
+
+
+
+
+
+
The elements will always match the type Set's generic type. For example, if getSetKey returns a
key of Set<String>, then this will always return a
- TypeLiteral<String>.]]>
-
-
-
-
+ TypeLiteral<String>.]]>
+
+
+
+
The elements will always match the type Set's generic type. For example, if getSetKey returns a
key of Set<String>, then this will always return a list of type
- List<Binding<String>>.]]>
-
-
-
-
+ List<Binding<String>>.]]>
+
+
+
+
-
-
-
-
-
+ MultibinderBinding retrieved from {@link Elements#getElements}.]]>
+
+
+
+
+
If you need to introspect the details of the set, such as the values or if it permits
duplicates, it is necessary to pass the elements through an Injector and use
- {@link #getElements()} and {@link #permitsDuplicates()}.]]>
-
-
-
+ {@link #getElements()} and {@link #permitsDuplicates()}.]]>
+
+
+
The fully qualified type of the set, including Set. For example:
MultibinderBinding<Set<Boolean>>
@since 3.0
- @author sameb@google.com (Sam Berlin)]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @author sameb@google.com (Sam Berlin)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
If your {@link BindingTargetVisitor} implements this interface, bindings created by using
{@link Multibinder} or {@link MapBinder} will be visited through this interface.
@since 3.0
- @author sameb@google.com (Sam Berlin)]]>
-
-
-
-
-
-
-
-
-
+ @author sameb@google.com (Sam Berlin)]]>
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @author crazybob@google.com (Bob Lee)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+ {@code properties}.]]>
+
+
+
+
+
+
-
-
-
+ {@link Properties#defaults defaults}.]]>
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @author crazybob@google.com (Bob Lee)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This filter requires the Guice Servlet extension.
- @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+
+
+
+
+
+
+
-
-
-
-
+ nothing.]]>
+
+
+
+
-
-
-
+ method does nothing. If not yet started, it also does nothing.]]>
+
+
+
-
-
-
-
-
-
-
+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+
+
+
+
+
+
+
Any method or class marked with this annotation will be considered for transactionality.
Consult the documentation on http://code.google.com/p/google-guice for detailed semantics.
Marking a method {@code @Transactional} will start a new transaction before the method
@@ -6197,39 +6208,39 @@
the {@link #rollbackOn()} clause. By default, only unchecked exceptions trigger a
rollback.
- @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
-
-
-
-
-
-
-
+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+
+
+
+
+
+
+
-
-
-
-
+ Transaction semantics are not affected.]]>
+
+
+
+
- Transaction semantics are not affected.]]>
-
-
-
+ Transaction semantics are not affected.]]>
+
+
+
- @author Dhanji R. Prasanna (dhanji@gmail com)]]>
-
-
-
-
-
-
-
-
-
-
-
-
+ @author Dhanji R. Prasanna (dhanji@gmail com)]]>
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+ @param method a method you want to test as a dynamic finder]]>
+
+
+
+
+
-
-
-
-
-
-
-
+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+ provider as per the specification.]]>
+
+
+
+
+
-
-
-
+ @param iface Any interface type whose methods are all dynamic finders.]]>
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Apply this filter in web.xml above all other filters (typically), to all requests where you plan
to use servlet scopes. This is also needed in order to dispatch requests to injectable filters
@@ -6431,207 +6442,207 @@
any other filters (and servlets) using a {@link ServletModule}.
@author crazybob@google.com (Bob Lee)
- @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+ injector.]]>
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+ @since 2.0]]>
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+ @since 3.0]]>
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+ @since 3.0]]>
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+ @since 3.0]]>
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ @since 3.0]]>
+
+
+
+
+
+
+
}
when you want the HTTP request parameter map to be injected.
- @author crazybob@google.com (Bob Lee)]]>
-
-
-
-
-
-
-
+ @author crazybob@google.com (Bob Lee)]]>
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+ @author crazybob@google.com (Bob Lee)]]>
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ @author Chris Nokleberg]]>
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+ @author iqshum@google.com (Isaac Shum)]]>
+
+
+
+
+
+
+
+
+
+
+
Servlet Mapping EDSL
Part of the EDSL builder language for configuring servlets
@@ -6796,65 +6807,65 @@
In the case shown above {@code WebServiceFilter} will run first.
- @since 2.0]]>
-
In order to support the cases where a Guice {@link Element element} is created from another
Guice {@link Element element} (original) (e.g., by {@link Element#applyTo()}), it also
- provides a reference to the original element source ({@link #getOriginalElementSource()}).]]>
-
Due to issues with generics, the type parameters of this method do not
relate to the type of the provider. In practice, the 'B' type will always
- be a supertype of 'T'.]]>
-
You can use a fluent API and custom providers:
@@ -10260,162 +10351,162 @@
@author jmourits@google.com (Jerome Mourits)
@author jessewilson@google.com (Jesse Wilson)
- @author sameb@google.com (Sam Berlin)]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @author sameb@google.com (Sam Berlin)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+ @author crazybob@google.com (Bob Lee)]]>
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ Consider using the name of your root {@link Module} class as the domain.]]>
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+ Consider using the name of your root {@link Module} class as the domain.]]>
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+ @author crazybob@google.com (Bob Lee)]]>
+
+
+
+
+
+
+
+
+
+
Prefer to write smaller modules that can be reused and tested without overrides.
- @param modules the modules whose bindings are open to be overridden]]>
-
-
-
-
-
+ @param modules the modules whose bindings are open to be overridden]]>
+
+
+
+
+
Prefer to write smaller modules that can be reused and tested without overrides.
- @param modules the modules whose bindings are open to be overridden]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @param modules the modules whose bindings are open to be overridden]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @since 2.0]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+ life a Guice-supplied Provider will never return null.]]>
+
+
+
+
+
-
-
-
+ @since 3.0]]>
+
+
+
-
-
-
-
-
-
-
-
-
+ @since 2.0]]>
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+
+
+
+
+
+
+
-
-
-
-
-
+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+
+
+
+
+
-
-
-
-
-
+ @return a {@link java.io.Serializable serializable} generic array type.]]>
+
+
+
+
+
-
-
-
-
-
+ this returns {@code ?}, which is shorthand for {@code ? extends Object}.]]>
+
+
+
+
+
-
-
-
-
-
+ super String}.]]>
+
+
+
+
+
-
-
-
-
-
+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+
+
+
+
+
-
-
-
-
-
-
+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+
+
+
+
+
+
-
-
-
-
-
+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+
+
+
+
+
-
-
-
+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+
+
+
-
-
-
-
-
-
+ @since 2.0]]>
+
+
+
+
+
+
diff --git a/latest-api-diffs/4.0/changes.html b/latest-api-diffs/4.0/changes.html
index f9fdfe9c44..477fae5d39 100644
--- a/latest-api-diffs/4.0/changes.html
+++ b/latest-api-diffs/4.0/changes.html
@@ -1,32 +1,32 @@
-
-
-
-
-
-
-
-
-
-
-API Differences between 3.0 and 4.0
-
-
-
-
-
-
-This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
-
-Link to Non-frame version.
-
-
+
+
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+
+Link to Non-frame version.
+
The superclass changed from java.lang.Object to com.google.inject.spi.DefaultBindingTargetVisitor>>. Removed interface com.google.inject.spi.BindingTargetVisitor>>.
-Documentation changed from old to new.
-
-
-
The superclass changed from java.lang.Object to com.google.inject.spi.DefaultBindingTargetVisitor>>. Removed interface com.google.inject.spi.BindingTargetVisitor>>.
+Documentation changed from old to new.
+
+
+
Returns true if this MapBinder contains the given Element in order to build the map or uses the
+ given Element in order to support building and injecting the map.
Records an exception for type {@code I}, the full details of which will be logged, and the
+ message of which will be presented to the user at a later time.
-This file contains all the changes in documentation in the package com.google.inject.grapher.graphviz as colored differences.
-Deletions are shown like this, and
-additions are shown like this.
-
-
-If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
-
-
- 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
-
+This file contains all the changes in documentation in the package com.google.inject.grapher.graphviz as colored differences.
+Deletions are shown like this, and
+additions are shown like this.
+
+
+If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
+
+
+ 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
+
Module that provides GraphvizRendererclassesas the needed by RendererGraphvizGrapher and
binds the other Graphviz factories.
- @author phopkins@gmail.com (Pete Hopkins)
Interface for a service that returns Graphviz port IDs, used for naming the
rows in ImplementationNode-displaying GraphvizNodes.
Implemented by StringNodeIdFactory.
- @author phopkins@gmail.com (Pete Hopkins)
-This file contains all the changes in documentation in the package com.google.inject.grapher as colored differences.
-Deletions are shown like this, and
-additions are shown like this.
-
-
-If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
-
-
- 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
-
+This file contains all the changes in documentation in the package com.google.inject.grapher as colored differences.
+Deletions are shown like this, and
+additions are shown like this.
+
+
+If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
+
+
+ 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
+
InterfaceEdgefor an edge that connects an interface to the type or instance
instance that is bound to implement it.
@author phopkins@gmail.com (Pete Hopkins)
- @param The type for node IDs.
InterfaceEdgefor an edge from a class or InjectionPoint to the
the interface node that will satisfy thethe
dependency.
@author phopkins@gmail.com (Pete Hopkins)
- @param The type for node IDs.
Node for classestypesand instances that have Dependencys and are
are bound to InterfaceNodes. TheseThese
nodes will often have fields for
@@ -87,8 +87,8 @@
@author phopkins@gmail.com (Pete Hopkins)
- @param The type for node IDs.
Root classGuice injectorfor graphing an Injector. Bound in GrapherModulegrapher.RendersUse .of(Injector) to specify the Injector toguiceuse,dependencyand
@@ -101,8 +101,8 @@
justinitial settransitive dependencies of Classes or Keys to use, andathisgivenwill graph
their transitive bindingssetand dependenciesof nodes.
- @author phopkins@gmail.com (Pete Hopkins)
Node for an interface classtype that has been bound to an implementation class
class or instance. These nodes are basically defined by a Key.
@@ -110,15 +110,15 @@
@author phopkins@gmail.com (Pete Hopkins)
- @param The type for node IDs.
-This file contains all the changes in documentation in the package com.google.inject as colored differences.
-Deletions are shown like this, and
-additions are shown like this.
-
-
-If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
-
-
- 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
-
+This file contains all the changes in documentation in the package com.google.inject as colored differences.
+Deletions are shown like this, and
+additions are shown like this.
+
+
+If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
+
+
+ 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
+
Binds method interceptor[s] to methods matched by class and method matchers. A method is
eligible for interception if:
@@ -75,19 +75,19 @@
@param methodMatcher matches methods the interceptor should apply to. For
example: {@code annotatedWith(Transactional.class)}.
@param interceptors to bind. The interceptors are called in the order they
- are given.
Creates an injector for the given set of modules. This is equivalent to
calling .createInjector(Stage, Iterable) with Stage.DEVELOPMENT.
@throws CreationException if one or more errors occur during injector
- creation
Creates an injector for the given set of modules. This is equivalent to
calling .createInjector(Stage, Module...) with Stage.DEVELOPMENT.
@throws CreationException if one or more errors occur during injector
- construction
Annotates members of your implementation class (constructors, methods
and fields) into which the Injector should inject values.
The Injector fulfills injection requests for:
@@ -100,7 +100,7 @@
Static fields and methods of classes which any Module has
@@ -111,44 +111,44 @@
In all cases, a member can be injected regardless of its Java access
specifier (private, default, protected, public).
- @author crazybob@google.com (Bob Lee)
Annotates methods of a Module to create a provider method binding. The method's return
type is bound to it'sits returned value. Guice will pass dependencies to the method as parameters.
@author crazybob@google.com (Bob Lee)
- @since 2.0
-This file contains all the changes in documentation in the package com.google.inject.multibindings as colored differences.
-Deletions are shown like this, and
-additions are shown like this.
-
-
-If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
-
-
- 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
-
+This file contains all the changes in documentation in the package com.google.inject.multibindings as colored differences.
+Deletions are shown like this, and
+additions are shown like this.
+
+
+If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
+
+
+ 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
+
An API to bind multiple map entries separately, only to later inject them as
a complete map. MapBinder is intended for use in your application's module:
@@ -126,8 +126,8 @@
value is null, map injection will fail (although injecting a map of providers
will not).
- @author dpb@google.com (David P. Baker)
An API to bind multiple values separately, only to later inject them as a
complete collection. Multibinder is intended for use in your application's
module:
@@ -153,15 +153,19 @@
example, it is okay to havefor both {@code CandyModule} and {@code ChipsModule}
to both create their own {@code Multibinder}, and to each contribute
bindings to the set of snacks. When that set is injected, it will contain
- elements from both modules.
+ elements from both modules.
-
The set's iteration order is consistent with the binding order. This is
+
+
+
The set's iteration order is consistent with the binding order. This is
convenient when multiple elements are contributed by the same module because
that module can order its bindings appropriately. Avoid relying on the
iteration order of elements contributed by different modules, since there is
- no equivalent mechanism to order modules.
+ no equivalent mechanism to order modules.
-
The set is unmodifiable. Elements can only be added to the set by
+
+
+
The set is unmodifiable. Elements can only be added to the set by
configuring the multibinder. Elements can never be removed from the set.
Elements are resolved at set injection time. If an element is bound to a
@@ -178,8 +182,8 @@
Elements must be non-null. If any set element is null,
set injection will fail.
- @author jessewilson@google.com (Jesse Wilson)
-This file contains all the changes in documentation in the package com.google.inject.servlet as colored differences.
-Deletions are shown like this, and
-additions are shown like this.
-
-
-If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
-
-
- 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
-
+This file contains all the changes in documentation in the package com.google.inject.servlet as colored differences.
+Deletions are shown like this, and
+additions are shown like this.
+
+
+If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
+
+
+ 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
+
Wraps the given callable in a contextual callable that "continues" the
HTTP request in another thread. This acts as a way of transporting
request context data from the request processing thread to to worker
@@ -90,7 +90,7 @@
@throws OutOfScopeException if this method is called from a non-request
thread, or if the request has completed.
- @since 3.0
Scopes the given callable inside a request scope. This is not the same
as the HTTP request scope, but is used if no HTTP request scope is in
progress. In this way, keys can be scoped as @RequestScoped and exist
@@ -107,8 +107,8 @@
the value.
@return a callable that when called will run inside the a request scope
that exposes the instances in the {@code seedMap} as scoped keys.
- @since 3.0
-This file contains all the changes in documentation in the package com.google.inject.spi as colored differences.
-Deletions are shown like this, and
-additions are shown like this.
-
-
-If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
-
-
- 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
-
+This file contains all the changes in documentation in the package com.google.inject.spi as colored differences.
+Deletions are shown like this, and
+additions are shown like this.
+
+
+If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
+
+
+ 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
+
ReturnsIf the user-supplied a JSR330 binding, unscopedthen this will wrap that one. To always return the
+user-supplied provider, use .getUserSuppliedProvider.
+
+ @deprecated Use .getUserSuppliedProvider instead.
-This file contains all the changes in documentation in the package com.google.inject.throwingproviders as colored differences.
-Deletions are shown like this, and
-additions are shown like this.
-
-
-If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
-
-
- 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
-
+This file contains all the changes in documentation in the package com.google.inject.throwingproviders as colored differences.
+Deletions are shown like this, and
+additions are shown like this.
+
+
+If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new 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.
+
+
+ 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 <code> tag will cause all subsequent paragraphs to be displayed differently.
+
-JDiff is a Javadoc doclet which generates a report of the API differences between two versions of a product. It does not report changes in Javadoc comments, or changes in what a class or method does.
-This help page describes the different parts of the output from JDiff.
-
-
- See the reference page in the source for JDiff for information about how to generate a report like this one.
-
-
-The indexes shown in the top-left frame help show each type of change in more detail. The index "All Differences" contains all the differences between the APIs, in alphabetical order.
-These indexes all use the same format:
-
-
Removed packages, classes, constructors, methods and fields are struck through.
-
Added packages, classes, constructors, methods and fields appear in bold.
-
Changed packages, classes, constructors, methods and fields appear in normal text.
-
-
-
-You can always tell when you are reading a JDiff page, rather than a Javadoc page, by the color of the index bar and the color of the background.
-Links which take you to a Javadoc page are always in a typewriter font.
-Just like Javadoc, all interface names are in italic, and class names are not italicized. Where there are multiple entries in an index with the same name, the heading for them is also in italics, but is not a link.
-
-
-
Javadoc
-This is a link to the top-level Javadoc page for the new version of the product.
-
-
-
Overview
-The overview is the top-level summary of what was removed, added and changed between versions.
-
-
-
Package
-This is a link to the package containing the current changed class or interface.
-
-
-
Class
-This is highlighted when you are looking at the changed class or interface.
-
-
-
Text Changes
-This is a link to the top-level index of all documentation changes for the current package or class.
-If it is not present, then there are no documentation changes for the current package or class.
-This link can be removed entirely by not using the -docchanges option.
-
-
-
Statistics
-This is a link to a page which shows statistics about the changes between the two APIs.
-This link can be removed entirely by not using the -stats option.
-
-
-
Help
-A link to this Help page for JDiff.
-
-
-
Prev/Next
-These links take you to the previous and next changed package or class.
-
-
-
Frames/No Frames
-These links show and hide the HTML frames. All pages are available with or without frames.
-
-
-
Complex Changes
-There are some complex changes which can occur between versions, for example, when two or more methods with the same name change simultaneously, or when a method or field is moved into or from a superclass.
-In these cases, the change will be seen as a removal and an addition, rather than as a change. Unexpected removals or additions are often part of one of these type of changes.
-
+JDiff is a Javadoc doclet which generates a report of the API differences between two versions of a product. It does not report changes in Javadoc comments, or changes in what a class or method does.
+This help page describes the different parts of the output from JDiff.
+
+
+ See the reference page in the source for JDiff for information about how to generate a report like this one.
+
+
+The indexes shown in the top-left frame help show each type of change in more detail. The index "All Differences" contains all the differences between the APIs, in alphabetical order.
+These indexes all use the same format:
+
+
Removed packages, classes, constructors, methods and fields are struck through.
+
Added packages, classes, constructors, methods and fields appear in bold.
+
Changed packages, classes, constructors, methods and fields appear in normal text.
+
+
+
+You can always tell when you are reading a JDiff page, rather than a Javadoc page, by the color of the index bar and the color of the background.
+Links which take you to a Javadoc page are always in a typewriter font.
+Just like Javadoc, all interface names are in italic, and class names are not italicized. Where there are multiple entries in an index with the same name, the heading for them is also in italics, but is not a link.
+
+
+
Javadoc
+This is a link to the top-level Javadoc page for the new version of the product.
+
+
+
Overview
+The overview is the top-level summary of what was removed, added and changed between versions.
+
+
+
Package
+This is a link to the package containing the current changed class or interface.
+
+
+
Class
+This is highlighted when you are looking at the changed class or interface.
+
+
+
Text Changes
+This is a link to the top-level index of all documentation changes for the current package or class.
+If it is not present, then there are no documentation changes for the current package or class.
+This link can be removed entirely by not using the -docchanges option.
+
+
+
Statistics
+This is a link to a page which shows statistics about the changes between the two APIs.
+This link can be removed entirely by not using the -stats option.
+
+
+
Help
+A link to this Help page for JDiff.
+
+
+
Prev/Next
+These links take you to the previous and next changed package or class.
+
+
+
Frames/No Frames
+These links show and hide the HTML frames. All pages are available with or without frames.
+
+
+
Complex Changes
+There are some complex changes which can occur between versions, for example, when two or more methods with the same name change simultaneously, or when a method or field is moved into or from a superclass.
+In these cases, the change will be seen as a removal and an addition, rather than as a change. Unexpected removals or additions are often part of one of these type of changes.
+
-The percent change statistic reported for all elements in each API is defined recursively as follows:
-
-Percentage difference = 100 * (added + removed + 2*changed)
- -----------------------------------
- sum of public elements in BOTH APIs
-
-Where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed.
-This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed.
-The definition ensures that if all packages are removed and all new packages are
-added, the change will be 100%. Values are rounded here, so a value of 0% indicates a percentage difference of less than 0.5%.
-
The overall difference between the two APIs is approximately 9%.
-
-The numbers of program elements (packages, classes. constructors, methods and fields) which are recorded as removed, added or changed includes only the highest-level program elements. That is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.
-
+The percent change statistic reported for all elements in each API is defined recursively as follows:
+
+Percentage difference = 100 * (added + removed + 2*changed)
+ -----------------------------------
+ sum of public elements in BOTH APIs
+
+Where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed.
+This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed.
+The definition ensures that if all packages are removed and all new packages are
+added, the change will be 100%. Values are rounded here, so a value of 0% indicates a percentage difference of less than 0.5%.
+
The overall difference between the two APIs is approximately 27%.
+
+The numbers of program elements (packages, classes. constructors, methods and fields) which are recorded as removed, added or changed includes only the highest-level program elements. That is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.
+
Collects configuration information (primarily bindings) which will be
used to create an Injector. Guice provides this object to your
application's Module implementors so they may each contribute
@@ -115,86 +115,137 @@
The Guice Binding EDSL
get() on the resulting Provider instance to obtain the
{@code Service} instance.
-
Static fields and methods of classes which any Module has
diff --git a/latest-api-diffs/4.0/javadoc/com/google/inject/OutOfScopeException.html b/latest-api-diffs/4.0/javadoc/com/google/inject/OutOfScopeException.html
index f12cd2570b..4c6a8adc39 100644
--- a/latest-api-diffs/4.0/javadoc/com/google/inject/OutOfScopeException.html
+++ b/latest-api-diffs/4.0/javadoc/com/google/inject/OutOfScopeException.html
@@ -614,6 +614,22 @@
to create their own Multibinder<Snack>, and to each contribute
bindings to the set of snacks. When that set is injected, it will contain
elements from both modules.
-
+
The set's iteration order is consistent with the binding order. This is
convenient when multiple elements are contributed by the same module because
that module can order its bindings appropriately. Avoid relying on the
iteration order of elements contributed by different modules, since there is
no equivalent mechanism to order modules.
-
+
The set is unmodifiable. Elements can only be added to the set by
configuring the multibinder. Elements can never be removed from the set.
diff --git a/latest-api-diffs/4.0/javadoc/com/google/inject/servlet/ScopingException.html b/latest-api-diffs/4.0/javadoc/com/google/inject/servlet/ScopingException.html
index aeab78ea54..45c9e049bd 100644
--- a/latest-api-diffs/4.0/javadoc/com/google/inject/servlet/ScopingException.html
+++ b/latest-api-diffs/4.0/javadoc/com/google/inject/servlet/ScopingException.html
@@ -599,6 +599,22 @@