| <?xml version="1.0" encoding="iso-8859-1" standalone="no"?> |
| <!-- Generated by the JDiff Javadoc doclet --> |
| <!-- (http://www.jdiff.org) --> |
| <!-- on Mon Nov 17 22:46:48 PST 2008 --> |
| |
| <api |
| xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' |
| xsi:noNamespaceSchemaLocation='api.xsd' |
| name="v2" |
| jdversion="1.1.1"> |
| |
| <!-- Command line arguments = -doclet jdiff.JDiff -docletpath /Applications/bin/jdiff-1.1.1/jdiff.jar:/Applications/bin/jdiff-1.1.1/xerces.jar -d /Users/jessewilson/Guice/guice-everything/api-diffs -classpath /usr/share/ant/lib/ant-launcher.jar:/usr/share/ant/lib/ant-jai.jar:/usr/share/ant/lib/ant-jmf.jar:/usr/share/ant/lib/ant-junit.jar:/usr/share/ant/lib/ant-nodeps.jar:/usr/share/ant/lib/ant-swing.jar:/usr/share/ant/lib/ant-testutil.jar:/usr/share/ant/lib/ant-trax.jar:/usr/share/ant/lib/ant.jar:/usr/share/ant/lib/xercesImpl.jar:/usr/share/ant/lib/xml-apis.jar -sourcepath /Users/jessewilson/Guice/google-guice/src -apiname v2 -baseURI http://www.w3.org -apidir /Users/jessewilson/Guice/guice-everything/api-diffs -source 1.5 --> |
| <package name="com.google.inject"> |
| <!-- start class com.google.inject.AbstractModule --> |
| <class name="AbstractModule" extends="java.lang.Object" |
| abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.Module"/> |
| <constructor name="AbstractModule" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="configure" |
| abstract="false" native="false" synchronized="true" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <param name="builder" type="com.google.inject.Binder"/> |
| </method> |
| <method name="configure" |
| abstract="true" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Configures a {@link Binder} via the exposed methods.]]> |
| </doc> |
| </method> |
| <method name="binder" return="com.google.inject.Binder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets direct access to the underlying {@code Binder}.]]> |
| </doc> |
| </method> |
| <method name="bindScope" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="scopeAnnotation" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <param name="scope" type="com.google.inject.Scope"/> |
| <doc> |
| <![CDATA[@see Binder#bindScope(Class, Scope)]]> |
| </doc> |
| </method> |
| <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <doc> |
| <![CDATA[@see Binder#bind(Key)]]> |
| </doc> |
| </method> |
| <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> |
| <doc> |
| <![CDATA[@see Binder#bind(TypeLiteral)]]> |
| </doc> |
| </method> |
| <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="clazz" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[@see Binder#bind(Class)]]> |
| </doc> |
| </method> |
| <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[@see Binder#bindConstant()]]> |
| </doc> |
| </method> |
| <method name="install" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="module" type="com.google.inject.Module"/> |
| <doc> |
| <![CDATA[@see Binder#install(Module)]]> |
| </doc> |
| </method> |
| <method name="addError" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="message" type="java.lang.String"/> |
| <param name="arguments" type="java.lang.Object[]"/> |
| <doc> |
| <![CDATA[@see Binder#addError(String, Object[])]]> |
| </doc> |
| </method> |
| <method name="addError" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="t" type="java.lang.Throwable"/> |
| <doc> |
| <![CDATA[@see Binder#addError(Throwable)]]> |
| </doc> |
| </method> |
| <method name="addError" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="message" type="com.google.inject.spi.Message"/> |
| <doc> |
| <![CDATA[@see Binder#addError(Message) |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="requestInjection" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="objects" type="java.lang.Object[]"/> |
| <doc> |
| <![CDATA[@see Binder#requestInjection(Object[]) |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="requestStaticInjection" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="types" type="java.lang.Class[]"/> |
| <doc> |
| <![CDATA[@see Binder#requestStaticInjection(Class[])]]> |
| </doc> |
| </method> |
| <method name="bindInterceptor" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="classMatcher" type="com.google.inject.matcher.Matcher<? super java.lang.Class<?>>"/> |
| <param name="methodMatcher" type="com.google.inject.matcher.Matcher<? super java.lang.reflect.Method>"/> |
| <param name="interceptors" type="MethodInterceptor[]"/> |
| <doc> |
| <![CDATA[@see Binder#bindInterceptor(com.google.inject.matcher.Matcher, |
| com.google.inject.matcher.Matcher, |
| org.aopalliance.intercept.MethodInterceptor[])]]> |
| </doc> |
| </method> |
| <method name="requireBinding" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<?>"/> |
| <doc> |
| <![CDATA[Adds a dependency from this module to {@code key}. When the injector is |
| created, Guice will report an error if {@code key} cannot be injected. |
| Note that this requirement may be satisfied by implicit binding, such as |
| a public no-arguments constructor. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="requireBinding" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<?>"/> |
| <doc> |
| <![CDATA[Adds a dependency from this module to {@code type}. When the injector is |
| created, Guice will report an error if {@code type} cannot be injected. |
| Note that this requirement may be satisfied by implicit binding, such as |
| a public no-arguments constructor. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="getProvider" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <doc> |
| <![CDATA[@see Binder#getProvider(Key) |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="getProvider" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[@see Binder#getProvider(Class) |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="convertToTypes" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="typeMatcher" type="com.google.inject.matcher.Matcher<? super com.google.inject.TypeLiteral<?>>"/> |
| <param name="converter" type="com.google.inject.spi.TypeConverter"/> |
| <doc> |
| <![CDATA[@see Binder#convertToTypes |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="currentStage" return="com.google.inject.Stage" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[@see Binder#currentStage() |
| @since 2.0]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[A support class for {@link Module}s which reduces repetition and results in |
| a more readable configuration. Simply extend this class, implement {@link |
| #configure()}, and call the inherited methods which mirror those found in |
| {@link Binder}. For example: |
| |
| <pre> |
| import static com.google.inject.Names.named; |
| |
| public class MyModule extends AbstractModule { |
| protected void configure() { |
| bind(Foo.class).to(FooImpl.class).in(Scopes.SINGLETON); |
| bind(BarImpl.class); |
| bind(Bar.class).to(BarImpl.class); |
| bindConstant(named("port")).to(8080); |
| } |
| } |
| </pre> |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.AbstractModule --> |
| <!-- start interface com.google.inject.Binder --> |
| <interface name="Binder" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="bindInterceptor" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="classMatcher" type="com.google.inject.matcher.Matcher<? super java.lang.Class<?>>"/> |
| <param name="methodMatcher" type="com.google.inject.matcher.Matcher<? super java.lang.reflect.Method>"/> |
| <param name="interceptors" type="MethodInterceptor[]"/> |
| <doc> |
| <![CDATA[Binds a method interceptor to methods matched by class and method |
| matchers. |
| |
| @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]]> |
| </doc> |
| </method> |
| <method name="bindScope" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <param name="scope" type="com.google.inject.Scope"/> |
| <doc> |
| <![CDATA[Binds a scope to an annotation.]]> |
| </doc> |
| </method> |
| <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link Binder}.]]> |
| </doc> |
| </method> |
| <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link Binder}.]]> |
| </doc> |
| </method> |
| <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link Binder}.]]> |
| </doc> |
| </method> |
| <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link Binder}.]]> |
| </doc> |
| </method> |
| <method name="requestInjection" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="instances" type="java.lang.Object[]"/> |
| <doc> |
| <![CDATA[Upon successful creation, the {@link Injector} will inject instance fields |
| and methods of the given objects. |
| |
| @param instances for which members will be injected |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="requestStaticInjection" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="types" type="java.lang.Class[]"/> |
| <doc> |
| <![CDATA[Upon successful creation, the {@link Injector} will inject static fields |
| and methods in the given classes. |
| |
| @param types for which static members will be injected]]> |
| </doc> |
| </method> |
| <method name="install" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="module" type="com.google.inject.Module"/> |
| <doc> |
| <![CDATA[Uses the given module to configure more bindings.]]> |
| </doc> |
| </method> |
| <method name="currentStage" return="com.google.inject.Stage" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets the current stage.]]> |
| </doc> |
| </method> |
| <method name="addError" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="message" type="java.lang.String"/> |
| <param name="arguments" type="java.lang.Object[]"/> |
| <doc> |
| <![CDATA[Records an error message which will be presented to the user at a later |
| time. Unlike throwing an exception, this enable us to continue |
| configuring the Injector and discover more errors. Uses {@link |
| String#format(String, Object[])} to insert the arguments into the |
| message.]]> |
| </doc> |
| </method> |
| <method name="addError" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="t" type="java.lang.Throwable"/> |
| <doc> |
| <![CDATA[Records an exception, the full details of which will be logged, and the |
| message of which will be presented to the user at a later |
| time. If your Module calls something that you worry may fail, you should |
| catch the exception and pass it into this.]]> |
| </doc> |
| </method> |
| <method name="addError" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="message" type="com.google.inject.spi.Message"/> |
| <doc> |
| <![CDATA[Records an error message to be presented to the user at a later time. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="getProvider" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <doc> |
| <![CDATA[Returns the provider used to obtain instances for the given injection key. |
| The returned will not be valid until the {@link Injector} has been |
| created. The provider will throw an {@code IllegalStateException} if you |
| try to use it beforehand. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="getProvider" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[Returns the provider used to obtain instances for the given injection type. |
| The returned will not be valid until the {@link Injector} has been |
| created. The provider will throw an {@code IllegalStateException} if you |
| try to use it beforehand. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="convertToTypes" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="typeMatcher" type="com.google.inject.matcher.Matcher<? super com.google.inject.TypeLiteral<?>>"/> |
| <param name="converter" type="com.google.inject.spi.TypeConverter"/> |
| <doc> |
| <![CDATA[Binds a type converter. The injector will use the given converter to |
| convert string constants to matching types as needed. |
| |
| @param typeMatcher matches types the converter can handle |
| @param converter converts values |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="withSource" return="com.google.inject.Binder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="source" type="java.lang.Object"/> |
| <doc> |
| <![CDATA[Returns a binder that uses {@code source} as the reference location for |
| configuration errors. This is typically a {@link StackTraceElement} |
| for {@code .java} source but it could any binding source, such as the |
| path to a {@code .properties} file. |
| |
| @param source any object representing the source location and has a |
| concise {@link Object#toString() toString()} value |
| @return a binder that shares its configuration with this binder |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="skipSources" return="com.google.inject.Binder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="classesToSkip" type="java.lang.Class[]"/> |
| <doc> |
| <![CDATA[Returns a binder that skips {@code classesToSkip} when identify the |
| calling code. The caller's {@link StackTraceElement} is used to locate |
| the source of configuration errors. |
| |
| @param classesToSkip library classes that create bindings on behalf of |
| their clients. |
| @return a binder that shares its configuration with this binder. |
| @since 2.0]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Collects configuration information (primarily <i>bindings</i>) which will be |
| used to create an {@link Injector}. Guice provides this object to your |
| application's {@link Module} 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 in the usual way -- by reading |
| method-level javadocs</b>. Instead, you should consult this series of |
| examples below. To save space, these examples omit the opening |
| {@code binder.}, just as you will if your module extends |
| {@link AbstractModule}. |
| |
| <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 {@link Module} 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 |
| {@link ImplementedBy @ImplementedBy} or {@link ProvidedBy @ProvidedBy} |
| 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 |
| {@link Provider#get get()} on the resulting Provider instance to obtain the |
| {@code Service} instance. |
| |
| <p>The {@link Provider} you use here does not have to be a "factory"; that |
| is, a provider which always <i>creates</i> each instance it provides. |
| However, this is generally a good practice to follow. You can then use |
| Guice's concept of {@link Scope scopes} to guide when creation should happen |
| -- "letting Guice work for you". |
| |
| <pre> |
| bind(Service.class).annotatedWith(Red.class).to(ServiceImpl.class);</pre> |
| |
| Like the previous example, but only applies to injection requests that use |
| the binding annotation {@code @Red}. If your module also includes bindings |
| for particular <i>values</i> of the {@code @Red} annotation (see below), |
| then this binding will serve as a "catch-all" for any values of {@code @Red} |
| that have no exact match in the bindings. |
| |
| <pre> |
| bind(ServiceImpl.class).in(Singleton.class); |
| // or, alternatively |
| bind(ServiceImpl.class).in(Scopes.SINGLETON);</pre> |
| |
| Either of these statements places the {@code ServiceImpl} class into |
| singleton scope. Guice will create only one instance of {@code ServiceImpl} |
| and will reuse it for all injection requests of this type. Note that it is |
| still possible to bind another instance of {@code ServiceImpl} if the second |
| binding is qualified by an annotation as in the previous example. Guice is |
| not overly concerned with <i>preventing</i> you from creating multiple |
| instances of your "singletons", only with <i>enabling</i> your application to |
| share only one instance if that's all you tell Guice you need. |
| |
| <p><b>Note:</b> a scope specified in this way <i>overrides</i> any scope that |
| was specified with an annotation on the {@code ServiceImpl} class. |
| |
| <p>Besides {@link Singleton}/{@link Scopes#SINGLETON}, there are |
| servlet-specific scopes available in |
| {@code com.google.inject.servlet.ServletScopes}, and your Modules can |
| contribute their own custom scopes for use here as well. |
| |
| <pre> |
| bind(new TypeLiteral<PaymentService<CreditCard>>() {}) |
| .to(CreditCardPaymentService.class);</pre> |
| |
| This admittedly odd construct is the way to bind a parameterized type. It |
| tells Guice how to honor an injection request for an element of type |
| {@code PaymentService<CreditCard>}. The class |
| {@code CreditCardPaymentService} must implement the |
| {@code PaymentService<CreditCard>} interface. Guice cannot currently bind or |
| inject a generic type, such as {@code Set<E>}; all type parameters must be |
| fully specified. |
| |
| <pre> |
| bind(Service.class).toInstance(new ServiceImpl()); |
| // or, alternatively |
| bind(Service.class).toInstance(SomeLegacyRegistry.getService());</pre> |
| |
| In this example, your module itself, <i>not Guice</i>, takes responsibility |
| for obtaining a {@code ServiceImpl} instance, then asks Guice to always use |
| this single instance to fulfill all {@code Service} injection requests. When |
| the {@link Injector} is first created, it will automatically perform field |
| and method injection for this instance, but any injectable constructor on |
| {@code ServiceImpl} is simply ignored. Note that using this approach results |
| in "eager loading" behavior that you can't control. |
| |
| <pre> |
| bindConstant().annotatedWith(ServerHost.class).to(args[0]);</pre> |
| |
| Sets up a constant binding. Constant bindings are typeless in Guice; you |
| can provide the values in a variety of types and the values can be injected |
| in a variety of types; Guice performs the standard type conversions for you |
| behind the scenes. Because of this "typelessness", constant injections must |
| always be annotated. |
| |
| <pre> |
| {@literal @}Color("red") Color red; // A member variable (field) |
| . . . |
| red = MyModule.class.getField("red").getAnnotation(Color.class); |
| bind(Service.class).annotatedWith(red).to(RedService.class);</pre> |
| |
| If your binding annotation has parameters you can apply different bindings to |
| different specific values of your annotation. Getting your hands on the |
| right instance of the annotation is a bit of a pain -- one approach, shown |
| above, is to apply a prototype annotation to a field in your module class, so |
| that you can read this annotation instance and give it to Guice. |
| |
| <pre> |
| bind(Service.class) |
| .annotatedWith(Names.named("blue")) |
| .to(BlueService.class);</pre> |
| |
| Differentiating by names is a common enough use case that we provided a |
| standard annotation, {@link com.google.inject.name.Named @Named}. Because of |
| Guice's library support, binding by name is quite easier than in the |
| arbitrary binding annotation case we just saw. However, remember that these |
| names will live in a single flat namespace with all the other names used in |
| your application. |
| |
| <p>The above list of examples is far from exhaustive. If you can think of |
| how the concepts of one example might coexist with the concepts from another, |
| you can most likely weave the two together. If the two concepts make no |
| sense with each other, you most likely won't be able to do it. In a few |
| cases Guice will let something bogus slip by, and will then inform you of |
| the problems at runtime, as soon as you try to create your Injector. |
| |
| <p>The other methods of Binder such as {@link #bindScope}, |
| {@link #bindInterceptor}, {@link #install}, {@link #requestStaticInjection}, |
| {@link #addError} and {@link #currentStage} are not part of the Binding EDSL; |
| you can learn how to use these in the usual way, from the method |
| documentation. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.Binder --> |
| <!-- start interface com.google.inject.Binding --> |
| <interface name="Binding" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.Element"/> |
| <method name="getKey" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the key for this binding.]]> |
| </doc> |
| </method> |
| <method name="getProvider" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the scoped provider guice uses to fulfill requests for this |
| binding. |
| |
| @throws UnsupportedOperationException when invoked on a {@link Binding} |
| created via {@link com.google.inject.spi.Elements#getElements}. This |
| method is only supported on {@link Binding}s returned from an injector.]]> |
| </doc> |
| </method> |
| <method name="acceptTargetVisitor" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.BindingTargetVisitor<? super T, V>"/> |
| <doc> |
| <![CDATA[Accepts a target visitor. Invokes the visitor method specific to this binding's target. |
| |
| @param visitor to call back on |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="acceptScopingVisitor" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.BindingScopingVisitor<V>"/> |
| <doc> |
| <![CDATA[Accepts a scoping visitor. Invokes the visitor method specific to this binding's scoping. |
| |
| @param visitor to call back on |
| @since 2.0]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[A mapping from a key (type and optional annotation) to the strategy for getting instances of the |
| type. This interface is part of the introspection API and is intended primarily for use by |
| tools. |
| |
| <p>Bindings are created in several ways: |
| <ul> |
| <li>Explicitly in a module, via {@code bind()} and {@code bindConstant()} |
| statements: |
| <pre> |
| bind(Service.class).annotatedWith(Red.class).to(ServiceImpl.class); |
| bindConstant().annotatedWith(ServerHost.class).to(args[0]);</pre></li> |
| <li>Implicitly by the Injector by following a type's {@link ImplementedBy |
| pointer} {@link ProvidedBy annotations} or by using its {@link Inject annotated} or |
| default constructor.</li> |
| <li>By converting a bound instance to a different type.</li> |
| <li>For {@link Provider providers}, by delegating to the binding for the provided type.</li> |
| </ul> |
| |
| |
| <p>They exist on both modules and on injectors, and their behaviour is different for each: |
| <ul> |
| <li><strong>Module bindings</strong> are incomplete and cannot be used to provide instances. |
| This is because the applicable scopes and interceptors may not be known until an injector |
| is created. From a tool's perspective, module bindings are like the injector's source |
| code. They can be inspected or rewritten, but this analysis must be done statically.</li> |
| <li><strong>Injector bindings</strong> are complete and valid and can be used to provide |
| instances. From a tools' perspective, injector bindings are like reflection for an |
| injector. They have full runtime information, including the complete graph of injections |
| necessary to satisfy a binding.</li> |
| </ul> |
| |
| @param <T> the bound type. The injected is always assignable to this type. |
| |
| @author crazybob@google.com (Bob Lee) |
| @author jessewilson@google.com (Jesse Wilson)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.Binding --> |
| <!-- start class com.google.inject.BindingAnnotation --> |
| <class name="BindingAnnotation" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Annotates annotations which are used for binding. Only one such annotation |
| may apply to a single injection point. You must also annotate binder |
| annotations with {@code @Retention(RUNTIME)}. For example: |
| |
| <pre> |
| {@code @}Retention(RUNTIME) |
| {@code @}Target({ FIELD, PARAMETER, METHOD }) |
| {@code @}BindingAnnotation |
| public {@code @}interface Transactional {} |
| </pre> |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.BindingAnnotation --> |
| <!-- start class com.google.inject.ConfigurationException --> |
| <class name="ConfigurationException" extends="java.lang.RuntimeException" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <constructor name="ConfigurationException" type="java.lang.Iterable<com.google.inject.spi.Message>" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Creates a ConfigurationException containing {@code messages}.]]> |
| </doc> |
| </constructor> |
| <method name="withPartialValue" return="com.google.inject.ConfigurationException" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="partialValue" type="java.lang.Object"/> |
| <doc> |
| <![CDATA[Returns a copy of this configuration exception with the specified partial value.]]> |
| </doc> |
| </method> |
| <method name="getErrorMessages" return="java.util.Collection<com.google.inject.spi.Message>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns messages for the errors that caused this exception.]]> |
| </doc> |
| </method> |
| <method name="getPartialValue" return="E" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns a value that was only partially computed due to this exception. The caller can use |
| this while collecting additional configuration problems. |
| |
| @return the partial value, or {@code null} if none was set. The type of the partial value is |
| specified by the throwing method.]]> |
| </doc> |
| </method> |
| <method name="getMessage" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <doc> |
| <![CDATA[Thrown when a programming error such as a misplaced annotation, illegal binding, or unsupported |
| scope is found. Clients should catch this exception, log it, and stop execution. |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.ConfigurationException --> |
| <!-- start class com.google.inject.CreationException --> |
| <class name="CreationException" extends="java.lang.RuntimeException" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <constructor name="CreationException" type="java.lang.Iterable<com.google.inject.spi.Message>" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Creates a CreationException containing {@code messages}.]]> |
| </doc> |
| </constructor> |
| <method name="getErrorMessages" return="java.util.Collection<com.google.inject.spi.Message>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns messages for the errors that caused this exception.]]> |
| </doc> |
| </method> |
| <method name="getMessage" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <doc> |
| <![CDATA[Thrown when errors occur while creating a {@link Injector}. Includes a list of encountered |
| errors. Clients should catch this exception, log it, and stop execution. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.CreationException --> |
| <!-- start class com.google.inject.Guice --> |
| <class name="Guice" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <method name="createInjector" return="com.google.inject.Injector" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="com.google.inject.Module[]"/> |
| <doc> |
| <![CDATA[Creates an injector for the given set of modules. |
| |
| @throws CreationException if one or more errors occur during Injector |
| construction]]> |
| </doc> |
| </method> |
| <method name="createInjector" return="com.google.inject.Injector" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="java.lang.Iterable<? extends com.google.inject.Module>"/> |
| <doc> |
| <![CDATA[Creates an injector for the given set of modules. |
| |
| @throws CreationException if one or more errors occur during Injector |
| construction]]> |
| </doc> |
| </method> |
| <method name="createInjector" return="com.google.inject.Injector" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="stage" type="com.google.inject.Stage"/> |
| <param name="modules" type="com.google.inject.Module[]"/> |
| <doc> |
| <![CDATA[Creates an injector for the given set of modules, in a given development |
| stage. |
| |
| @throws CreationException if one or more errors occur during Injector |
| construction]]> |
| </doc> |
| </method> |
| <method name="createInjector" return="com.google.inject.Injector" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="stage" type="com.google.inject.Stage"/> |
| <param name="modules" type="java.lang.Iterable<? extends com.google.inject.Module>"/> |
| <doc> |
| <![CDATA[Creates an injector for the given set of modules, in a given development |
| stage. |
| |
| @throws CreationException if one or more errors occur during Injector |
| construction]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[The entry point to the Guice framework. Creates {@link Injector}s from |
| {@link Module}s. |
| |
| <p>Guice supports a model of development that draws clear boundaries between |
| APIs, Implementations of these APIs, Modules which configure these |
| implementations, and finally Applications which consist of a collection of |
| Modules. It is the Application, which typically defines your {@code main()} |
| method, that bootstraps the Guice Injector using the {@code Guice} class, as |
| in this example: |
| <pre> |
| public class FooApplication { |
| public static void main(String[] args) { |
| Injector injector = Guice.createInjector( |
| new ModuleA(), |
| new ModuleB(), |
| . . . |
| new FooApplicationFlagsModule(args) |
| ); |
| |
| // Now just bootstrap the application and you're done |
| MyStartClass starter = injector.getInstance(MyStartClass.class); |
| starter.runApplication(); |
| } |
| } |
| </pre>]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.Guice --> |
| <!-- start class com.google.inject.ImplementedBy --> |
| <class name="ImplementedBy" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[A pointer to the default implementation of a type. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.ImplementedBy --> |
| <!-- start class com.google.inject.Inject --> |
| <class name="Inject" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Annotates members of your implementation class (constructors, methods |
| and fields) into which the {@link Injector} 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 |
| method and field injections. |
| |
| <li>Pre-constructed instances passed to {@link Injector#injectMembers}, |
| {@link com.google.inject.binder.LinkedBindingBuilder#toInstance(Object)} and |
| {@link com.google.inject.binder.LinkedBindingBuilder#toProvider(Provider)}. |
| In this case all constructors are, of course, ignored. |
| |
| <li>Static fields and methods of classes which any {@link Module} has |
| specifically requested static injection for, using |
| {@link Binder#requestStaticInjection}. |
| </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)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.Inject --> |
| <!-- start interface com.google.inject.Injector --> |
| <interface name="Injector" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="injectMembers" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="instance" type="java.lang.Object"/> |
| <doc> |
| <![CDATA[Injects dependencies into the fields and methods of {@code instance}. Ignores the presence or |
| absence of an injectable constructor. |
| |
| <p>Whenever Guice creates an instance, it performs this injection automatically (after first |
| performing constructor injection), so if you're able to let Guice create all your objects for |
| you, you'll never need to use this method.]]> |
| </doc> |
| </method> |
| <method name="getBindings" return="java.util.Map<com.google.inject.Key<?>, com.google.inject.Binding<?>>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns all explicit bindings. |
| |
| <p>The returned map does not include bindings inherited from a {@link #getParent() parent |
| injector}, should one exist. |
| |
| <p>This method is part of the Guice SPI and is intended for use by tools and extensions.]]> |
| </doc> |
| </method> |
| <method name="getBinding" return="com.google.inject.Binding<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <doc> |
| <![CDATA[Returns the binding for the given injection key. This will be an explicit bindings if the key |
| was bound explicitly by a module, or an implicit binding otherwise. The implicit binding will |
| be created if necessary. |
| |
| <p>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.]]> |
| </doc> |
| </method> |
| <method name="getBinding" return="com.google.inject.Binding<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[Returns the binding for the given type. This will be an explicit bindings if the injection key |
| was bound explicitly by a module, or an implicit binding otherwise. The implicit binding will |
| be created if necessary. |
| |
| <p>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]]> |
| </doc> |
| </method> |
| <method name="findBindingsByType" return="java.util.List<com.google.inject.Binding<T>>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="com.google.inject.TypeLiteral<T>"/> |
| <doc> |
| <![CDATA[Returns all explicit bindings for {@code type}. |
| |
| <p>This method is part of the Guice SPI and is intended for use by tools and extensions.]]> |
| </doc> |
| </method> |
| <method name="getProvider" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <doc> |
| <![CDATA[Returns the provider used to obtain instances for the given injection key. When feasible, avoid |
| using this method, in favor of having Guice inject your dependencies ahead of time. |
| |
| @throws ConfigurationException if this injector cannot find or create the provider.]]> |
| </doc> |
| </method> |
| <method name="getProvider" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[Returns the provider used to obtain instances for the given type. When feasible, avoid |
| using this method, in favor of having Guice inject your dependencies ahead of time. |
| |
| @throws ConfigurationException if this injector cannot find or create the provider.]]> |
| </doc> |
| </method> |
| <method name="getInstance" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <doc> |
| <![CDATA[Returns the appropriate instance for the given injection key; equivalent to {@code |
| getProvider(key).get()}. When feasible, avoid using this method, in favor of having Guice |
| inject your dependencies ahead of time. |
| |
| @throws ConfigurationException if this injector cannot find or create the provider. |
| @throws ProvisionException if there was a runtime failure while providing an instance.]]> |
| </doc> |
| </method> |
| <method name="getInstance" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[Returns the appropriate instance for the given injection type; equivalent to {@code |
| getProvider(type).get()}. When feasible, avoid using this method, in favor of having Guice |
| inject your dependencies ahead of time. |
| |
| @throws ConfigurationException if this injector cannot find or create the provider. |
| @throws ProvisionException if there was a runtime failure while providing an instance.]]> |
| </doc> |
| </method> |
| <method name="getParent" return="com.google.inject.Injector" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns this injector's parent, or {@code null} if this is a top-level injector. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="createChildInjector" return="com.google.inject.Injector" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="java.lang.Iterable<? extends com.google.inject.Module>"/> |
| <doc> |
| <![CDATA[Returns a new injector that inherits all state from this injector. All bindings, scopes, |
| interceptors and type converters are inherited -- they are visible to the child injector. |
| Elements of the child injector are not visible to its parent. |
| |
| <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. |
| |
| <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 |
| injector to itself. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="createChildInjector" return="com.google.inject.Injector" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="com.google.inject.Module[]"/> |
| <doc> |
| <![CDATA[Returns a new injector that inherits all state from this injector. All bindings, scopes, |
| interceptors and type converters are inherited -- they are visible to the child injector. |
| Elements of the child injector are not visible to its parent. |
| |
| <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. |
| |
| <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 |
| injector to itself. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Builds the graphs of objects that make up your application. The injector tracks the dependencies |
| for each type and uses bindings to inject them. This is the core of Guice, although you rarely |
| interact with it directly. This "behind-the-scenes" operation is what distinguishes dependency |
| injection from its cousin, the service locator pattern. |
| |
| <p>Contains several default bindings: |
| |
| <ul> |
| <li>This {@link Injector} instance itself |
| <li>A {@code Provider<T>} for each binding of type {@code T} |
| <li>The {@link java.util.logging.Logger} for the class being injected |
| <li>The {@link Stage} in which the Injector was created |
| </ul> |
| |
| Injectors are created using the facade class {@link Guice}. |
| |
| <p>An injector can also {@link #injectMembers(Object) inject the dependencies} of |
| already-constructed instances. This can be used to interoperate with objects created by other |
| frameworks or services. |
| |
| <p>Injectors can be {@link #createChildInjector(Iterable) hierarchical}. Child injectors inherit |
| the configuration of their parent injectors, but the converse does not hold. |
| |
| <p>The injector's {@link #getBindings() internal bindings} are available for introspection. This |
| enables tools and extensions to operate on an injector reflectively. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.Injector --> |
| <!-- start class com.google.inject.Key --> |
| <class name="Key" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.io.Serializable"/> |
| <constructor name="Key" type="java.lang.Class<? extends java.lang.annotation.Annotation>" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Constructs a new key. Derives the type from this class's type parameter. |
| |
| <p>Clients create an empty anonymous subclass. Doing so embeds the type |
| parameter in the anonymous class's type hierarchy so we can reconstitute it |
| at runtime despite erasure. |
| |
| <p>Example usage for a binding of type {@code Foo} annotated with |
| {@code @Bar}: |
| |
| <p>{@code new Key<Foo>(Bar.class) {}}.]]> |
| </doc> |
| </constructor> |
| <constructor name="Key" type="java.lang.annotation.Annotation" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Constructs a new key. Derives the type from this class's type parameter. |
| |
| <p>Clients create an empty anonymous subclass. Doing so embeds the type |
| parameter in the anonymous class's type hierarchy so we can reconstitute it |
| at runtime despite erasure. |
| |
| <p>Example usage for a binding of type {@code Foo} annotated with |
| {@code @Bar}: |
| |
| <p>{@code new Key<Foo>(new Bar()) {}}.]]> |
| </doc> |
| </constructor> |
| <constructor name="Key" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Constructs a new key. Derives the type from this class's type parameter. |
| |
| <p>Clients create an empty anonymous subclass. Doing so embeds the type |
| parameter in the anonymous class's type hierarchy so we can reconstitute it |
| at runtime despite erasure. |
| |
| <p>Example usage for a binding of type {@code Foo}: |
| |
| <p>{@code new Key<Foo>() {}}.]]> |
| </doc> |
| </constructor> |
| <method name="getTypeLiteral" return="com.google.inject.TypeLiteral<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets the key type.]]> |
| </doc> |
| </method> |
| <method name="getAnnotationType" return="java.lang.Class<? extends java.lang.annotation.Annotation>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets the annotation type.]]> |
| </doc> |
| </method> |
| <method name="getAnnotation" return="java.lang.annotation.Annotation" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets the annotation.]]> |
| </doc> |
| </method> |
| <method name="equals" return="boolean" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <param name="o" type="java.lang.Object"/> |
| </method> |
| <method name="hashCode" return="int" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="toString" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="get" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type and an annotation type.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <param name="annotation" type="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type and an annotation.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.Key<?>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.Key<?>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.reflect.Type"/> |
| <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type and an annotation type.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.Key<?>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.reflect.Type"/> |
| <param name="annotation" type="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type and an annotation.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> |
| <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type and an annotation type.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> |
| <param name="annotation" type="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Gets a key for an injection type and an annotation.]]> |
| </doc> |
| </method> |
| <method name="readObject" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="stream" type="java.io.ObjectInputStream"/> |
| <exception name="InvalidObjectException" type="java.io.InvalidObjectException"/> |
| <doc> |
| <![CDATA[@since 2.0]]> |
| </doc> |
| </method> |
| <method name="writeReplace" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[@since 2.0]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Binding key consisting of an injection type and an optional annotation. |
| Matches the type and annotation at a point of injection. |
| |
| <p>For example, {@code Key.get(Service.class, Transactional.class)} will |
| match: |
| |
| <pre> |
| {@literal @}Inject |
| public void setService({@literal @}Transactional Service service) { |
| ... |
| } |
| </pre> |
| |
| <p>{@code Key} supports generic types via subclassing just like {@link |
| TypeLiteral}. |
| |
| <p>Keys do not differentiate between primitive types (int, char, etc.) and |
| their correpsonding wrapper types (Integer, Character, etc.). Primitive |
| types will be replaced with their wrapper types when keys are created. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.Key --> |
| <!-- start interface com.google.inject.Module --> |
| <interface name="Module" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="configure" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <doc> |
| <![CDATA[Contributes bindings and other configurations for this module to a {@code Binder}. |
| |
| <p><strong>Do not invoke this method directly</strong> to install submodules. Instead use |
| {@link Binder#install(Module)}, which ensures that {@link Provides provider methods} are |
| discovered.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[A module contributes configuration information, typically interface |
| bindings, which will be used to create an {@link Injector}. A Guice-based |
| application is ultimately composed of little more than a set of |
| {@code Module}s and some bootstrapping code. |
| |
| <p>Your Module classes can use a more streamlined syntax by extending |
| {@link AbstractModule} rather than implementing this interface directly. |
| |
| <p>In addition to the bindings configured via {@link #configure}, bindings |
| will be created for all methods annotated with {@literal @}{@link Provides}. |
| Use scope and binding annotations on these methods to configure the |
| bindings.]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.Module --> |
| <!-- start class com.google.inject.OutOfScopeException --> |
| <class name="OutOfScopeException" extends="java.lang.RuntimeException" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <constructor name="OutOfScopeException" type="java.lang.String" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <constructor name="OutOfScopeException" type="java.lang.String, java.lang.Throwable" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <constructor name="OutOfScopeException" type="java.lang.Throwable" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <doc> |
| <![CDATA[Thrown from {@link Provider#get} when an attempt is made to access a scoped |
| object while the scope in question is not currently active. |
| |
| @author kevinb@google.com (Kevin Bourrillion) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.OutOfScopeException --> |
| <!-- start class com.google.inject.ProvidedBy --> |
| <class name="ProvidedBy" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[A pointer to the default provider type for a type. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.ProvidedBy --> |
| <!-- start interface com.google.inject.Provider --> |
| <interface name="Provider" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="get" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Provides an instance of {@code T}. Must never return {@code null}. |
| |
| @throws OutOfScopeException when an attempt is made to access a scoped object while the scope |
| in question is not currently active |
| @throws ProvisionException if an instance cannot be provided. Such exceptions include messages |
| and throwables to describe why provision failed.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[An object capable of providing instances of type {@code T}. Providers are used in numerous ways |
| by Guice: |
| |
| <ul> |
| <li>When the default means for obtaining instances (an injectable or parameterless constructor) |
| is insufficient for a particular binding, the module can specify a custom {@code Provider} |
| instead, to control exactly how Guice creates or obtains instances for the binding. |
| |
| <li>An implementation class may always choose to have a {@code Provider<T>} instance injected, |
| rather than having a {@code T} injected directly. This may give you access to multiple |
| instances, instances you wish to safely mutate and discard, instances which are out of scope |
| (e.g. using a {@code @RequestScoped} object from within a {@code @SessionScoped} object), or |
| instances that will be initialized lazily. |
| |
| <li>A custom {@link Scope} is implemented as a decorator of {@code Provider<T>}, which decides |
| when to delegate to the backing provider and when to provide the instance some other way. |
| |
| <li>The {@link Injector} offers access to the {@code Provider<T>} it uses to fulfill requests |
| for a given key, via the {@link Injector#getProvider} methods. |
| </ul> |
| |
| @param <T> the type of object this provider provides |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.Provider --> |
| <!-- start class com.google.inject.Provides --> |
| <class name="Provides" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Annotates methods of a {@link Module} to create a provider method binding. The method's return |
| type is bound to it's returned value. Guice will pass dependencies to the method as parameters. |
| |
| @author crazybob@google.com (Bob Lee) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.Provides --> |
| <!-- start class com.google.inject.ProvisionException --> |
| <class name="ProvisionException" extends="java.lang.RuntimeException" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <constructor name="ProvisionException" type="java.lang.Iterable<com.google.inject.spi.Message>" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Creates a ConfigurationException containing {@code messages}.]]> |
| </doc> |
| </constructor> |
| <constructor name="ProvisionException" type="java.lang.String, java.lang.Throwable" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <constructor name="ProvisionException" type="java.lang.String" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="getErrorMessages" return="java.util.Collection<com.google.inject.spi.Message>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns messages for the errors that caused this exception.]]> |
| </doc> |
| </method> |
| <method name="getMessage" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <doc> |
| <![CDATA[Indicates that there was a runtime failure while providing an instance. |
| |
| @author kevinb@google.com (Kevin Bourrillion) |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.ProvisionException --> |
| <!-- start interface com.google.inject.Scope --> |
| <interface name="Scope" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="scope" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <param name="unscoped" type="com.google.inject.Provider<T>"/> |
| <doc> |
| <![CDATA[Scopes a provider. The returned provider returns objects from this scope. |
| If an object does not exist in this scope, the provider can use the given |
| unscoped provider to retrieve one. |
| |
| <p>Scope implementations are strongly encouraged to override |
| {@link Object#toString} in the returned provider and include the backing |
| provider's {@code toString()} output. |
| |
| @param key binding key |
| @param unscoped locates an instance when one doesn't already exist in this |
| scope. |
| @return a new provider which only delegates to the given unscoped provider |
| when an instance of the requested object doesn't already exist in this |
| scope]]> |
| </doc> |
| </method> |
| <method name="toString" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[A short but useful description of this scope. For comparison, the standard |
| scopes that ship with guice use the descriptions |
| {@code "Scopes.SINGLETON"}, {@code "ServletScopes.SESSION"} and |
| {@code "ServletScopes.REQUEST"}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[A scope is a level of visibility that instances provided by Guice may have. |
| By default, an instance created by the {@link Injector} has <i>no scope</i>, |
| meaning it has no state from the framework's perspective -- the |
| {@code Injector} creates it, injects it once into the class that required it, |
| and then immediately forgets it. Associating a scope with a particular |
| binding allows the created instance to be "remembered" and possibly used |
| again for other injections. |
| |
| <p>An example of a scope is {@link Scopes#SINGLETON}. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.Scope --> |
| <!-- start class com.google.inject.ScopeAnnotation --> |
| <class name="ScopeAnnotation" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Annotates annotations which are used for scoping. Only one such annotation |
| may apply to a single implementation class. You must also annotate scope |
| annotations with {@code @Retention(RUNTIME)}. For example: |
| |
| <pre> |
| {@code @}Retention(RUNTIME) |
| {@code @}Target(TYPE) |
| {@code @}ScopeAnnotation |
| public {@code @}interface SessionScoped {} |
| </pre> |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.ScopeAnnotation --> |
| <!-- start class com.google.inject.Scopes --> |
| <class name="Scopes" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <field name="SINGLETON" type="com.google.inject.Scope" |
| transient="false" volatile="false" |
| static="true" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[One instance per {@link Injector}. Also see {@code @}{@link Singleton}.]]> |
| </doc> |
| </field> |
| <field name="NO_SCOPE" type="com.google.inject.Scope" |
| transient="false" volatile="false" |
| static="true" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[No scope; the same as not applying any scope at all. Each time the |
| Injector obtains an instance of an object with "no scope", it injects this |
| instance then immediately forgets it. When the next request for the same |
| binding arrives it will need to obtain the instance over again. |
| |
| <p>This exists only in case a class has been annotated with a scope |
| annotation such as {@link Singleton @Singleton}, and you need to override |
| this to "no scope" in your binding. |
| |
| @since 2.0]]> |
| </doc> |
| </field> |
| <doc> |
| <![CDATA[Built in scope implementations. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.Scopes --> |
| <!-- start class com.google.inject.Singleton --> |
| <class name="Singleton" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Apply this to implementation classes when you want only one instance |
| (per {@link Injector}) to be reused for all injections for that binding. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.Singleton --> |
| <!-- start class com.google.inject.Stage --> |
| <class name="Stage" extends="java.lang.Enum<com.google.inject.Stage>" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <method name="values" return="com.google.inject.Stage[]" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="true" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="valueOf" return="com.google.inject.Stage" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="name" type="java.lang.String"/> |
| </method> |
| <doc> |
| <![CDATA[The stage we're running in. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.Stage --> |
| <!-- start class com.google.inject.TypeLiteral --> |
| <class name="TypeLiteral" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <constructor name="TypeLiteral" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Constructs a new type literal. Derives represented class from type |
| parameter. |
| |
| <p>Clients create an empty anonymous subclass. Doing so embeds the type |
| parameter in the anonymous class's type hierarchy so we can reconstitute it |
| at runtime despite erasure.]]> |
| </doc> |
| </constructor> |
| <method name="getType" return="java.lang.reflect.Type" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets underlying {@code Type} instance.]]> |
| </doc> |
| </method> |
| <method name="hashCode" return="int" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="equals" return="boolean" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <param name="o" type="java.lang.Object"/> |
| </method> |
| <method name="toString" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="get" return="com.google.inject.TypeLiteral<?>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Gets type literal for the given {@code Type} instance.]]> |
| </doc> |
| </method> |
| <method name="get" return="com.google.inject.TypeLiteral<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <doc> |
| <![CDATA[Gets type literal for the given {@code Class} instance.]]> |
| </doc> |
| </method> |
| <method name="getSupertype" return="java.lang.reflect.Type" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="supertype" type="java.lang.Class<?>"/> |
| <doc> |
| <![CDATA[Returns the generic form of {@code supertype}. For example, if this is {@code |
| ArrayList<String>}, this returns {@code Iterable<String>} given the input {@code |
| Iterable.class}. |
| |
| @param supertype a superclass of, or interface implemented by, this. |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="getFieldType" return="java.lang.reflect.Type" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="field" type="java.lang.reflect.Field"/> |
| <doc> |
| <![CDATA[Returns the resolved generic type of {@code field}. |
| |
| @param field a field defined by this or any superclass. |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="getParameterTypes" return="java.util.List<java.lang.reflect.Type>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="methodOrConstructor" type="java.lang.reflect.Member"/> |
| <doc> |
| <![CDATA[Returns the resolved generic parameter types of {@code methodOrConstructor}. |
| |
| @param methodOrConstructor a method or constructor defined by this or any supertype. |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="getExceptionTypes" return="java.util.List<java.lang.reflect.Type>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="methodOrConstructor" type="java.lang.reflect.Member"/> |
| <doc> |
| <![CDATA[Returns the resolved generic exception types thrown by {@code constructor}. |
| |
| @param methodOrConstructor a method or constructor defined by this or any supertype. |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="getReturnType" return="java.lang.reflect.Type" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="method" type="java.lang.reflect.Method"/> |
| <doc> |
| <![CDATA[Returns the resolved generic return type of {@code method}. |
| |
| @param method a method defined by this or any supertype. |
| @since 2.0]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Represents a generic type {@code T}. Java doesn't yet provide a way to |
| represent generic types, so this class does. Forces clients to create a |
| subclass of this class which enables retrieval the type information even at |
| runtime. |
| |
| <p>For example, to create a type literal for {@code List<String>}, you can |
| create an empty anonymous inner class: |
| |
| <p> |
| {@code TypeLiteral<List<String>> list = new TypeLiteral<List<String>>() {};} |
| |
| <p>Assumes that type {@code T} implements {@link Object#equals} and |
| {@link Object#hashCode()} as value (as opposed to identity) comparison. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.TypeLiteral --> |
| </package> |
| <package name="com.google.inject.binder"> |
| <!-- start interface com.google.inject.binder.AnnotatedBindingBuilder --> |
| <interface name="AnnotatedBindingBuilder" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.binder.LinkedBindingBuilder<T>"/> |
| <method name="annotatedWith" return="com.google.inject.binder.LinkedBindingBuilder<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <method name="annotatedWith" return="com.google.inject.binder.LinkedBindingBuilder<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="annotation" type="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.binder.AnnotatedBindingBuilder --> |
| <!-- start interface com.google.inject.binder.AnnotatedConstantBindingBuilder --> |
| <interface name="AnnotatedConstantBindingBuilder" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="annotatedWith" return="com.google.inject.binder.ConstantBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <method name="annotatedWith" return="com.google.inject.binder.ConstantBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="annotation" type="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.binder.AnnotatedConstantBindingBuilder --> |
| <!-- start interface com.google.inject.binder.ConstantBindingBuilder --> |
| <interface name="ConstantBindingBuilder" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="java.lang.String"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="int"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="long"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="boolean"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="double"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="float"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="short"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="char"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="java.lang.Class<?>"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <method name="to" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="E extends java.lang.Enum<E>"/> |
| <doc> |
| <![CDATA[Binds constant to the given value.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Binds to a constant value.]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.binder.ConstantBindingBuilder --> |
| <!-- start interface com.google.inject.binder.LinkedBindingBuilder --> |
| <interface name="LinkedBindingBuilder" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.binder.ScopedBindingBuilder"/> |
| <method name="to" return="com.google.inject.binder.ScopedBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="implementation" type="java.lang.Class<? extends T>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <method name="to" return="com.google.inject.binder.ScopedBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="implementation" type="com.google.inject.TypeLiteral<? extends T>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <method name="to" return="com.google.inject.binder.ScopedBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="targetKey" type="com.google.inject.Key<? extends T>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <method name="toInstance" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="instance" type="T"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}. |
| |
| @see com.google.inject.Injector#injectMembers]]> |
| </doc> |
| </method> |
| <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="provider" type="com.google.inject.Provider<? extends T>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}. |
| |
| @see com.google.inject.Injector#injectMembers]]> |
| </doc> |
| </method> |
| <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="providerType" type="java.lang.Class<? extends com.google.inject.Provider<? extends T>>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="providerKey" type="com.google.inject.Key<? extends com.google.inject.Provider<? extends T>>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.binder.LinkedBindingBuilder --> |
| <!-- start interface com.google.inject.binder.ScopedBindingBuilder --> |
| <interface name="ScopedBindingBuilder" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="in" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="scopeAnnotation" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <method name="in" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="scope" type="com.google.inject.Scope"/> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <method name="asEagerSingleton" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Instructs the {@link com.google.inject.Injector} to eagerly initialize this |
| singleton-scoped binding upon creation. Useful for application |
| initialization logic. See the EDSL examples at |
| {@link com.google.inject.Binder}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.binder.ScopedBindingBuilder --> |
| </package> |
| <package name="com.google.inject.jndi"> |
| <!-- start class com.google.inject.jndi.JndiIntegration --> |
| <class name="JndiIntegration" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="fromJndi" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<T>"/> |
| <param name="name" type="java.lang.String"/> |
| <doc> |
| <![CDATA[Creates a provider which looks up objects in JNDI using the given name. |
| Example usage: |
| |
| <pre> |
| bind(DataSource.class).toProvider(fromJndi(DataSource.class, "java:...")); |
| </pre>]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Integrates Guice with JNDI. Requires a binding to |
| {@link javax.naming.Context}. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.jndi.JndiIntegration --> |
| </package> |
| <package name="com.google.inject.matcher"> |
| <!-- start class com.google.inject.matcher.AbstractMatcher --> |
| <class name="AbstractMatcher" extends="java.lang.Object" |
| abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.matcher.Matcher<T>"/> |
| <constructor name="AbstractMatcher" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="and" return="com.google.inject.matcher.Matcher<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="other" type="com.google.inject.matcher.Matcher<? super T>"/> |
| </method> |
| <method name="or" return="com.google.inject.matcher.Matcher<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="other" type="com.google.inject.matcher.Matcher<? super T>"/> |
| </method> |
| <doc> |
| <![CDATA[Implements {@code and()} and {@code or()}. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.matcher.AbstractMatcher --> |
| <!-- start interface com.google.inject.matcher.Matcher --> |
| <interface name="Matcher" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="matches" return="boolean" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="t" type="T"/> |
| <doc> |
| <![CDATA[Returns {@code true} if this matches {@code t}, {@code false} otherwise.]]> |
| </doc> |
| </method> |
| <method name="and" return="com.google.inject.matcher.Matcher<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="other" type="com.google.inject.matcher.Matcher<? super T>"/> |
| <doc> |
| <![CDATA[Returns a new matcher which returns {@code true} if both this and the |
| given matcher return {@code true}.]]> |
| </doc> |
| </method> |
| <method name="or" return="com.google.inject.matcher.Matcher<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="other" type="com.google.inject.matcher.Matcher<? super T>"/> |
| <doc> |
| <![CDATA[Returns a new matcher which returns {@code true} if either this or the |
| given matcher return {@code true}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Returns {@code true} or {@code false} for a given input. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.matcher.Matcher --> |
| <!-- start class com.google.inject.matcher.Matchers --> |
| <class name="Matchers" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="any" return="com.google.inject.matcher.Matcher<java.lang.Object>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns a matcher which matches any input.]]> |
| </doc> |
| </method> |
| <method name="not" return="com.google.inject.matcher.Matcher<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="p" type="com.google.inject.matcher.Matcher<? super T>"/> |
| <doc> |
| <![CDATA[Inverts the given matcher.]]> |
| </doc> |
| </method> |
| <method name="annotatedWith" return="com.google.inject.matcher.Matcher<java.lang.reflect.AnnotatedElement>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <doc> |
| <![CDATA[Returns a matcher which matches elements (methods, classes, etc.) |
| with a given annotation.]]> |
| </doc> |
| </method> |
| <method name="annotatedWith" return="com.google.inject.matcher.Matcher<java.lang.reflect.AnnotatedElement>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="annotation" type="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Returns a matcher which matches elements (methods, classes, etc.) |
| with a given annotation.]]> |
| </doc> |
| </method> |
| <method name="subclassesOf" return="com.google.inject.matcher.Matcher<java.lang.Class>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="superclass" type="java.lang.Class<?>"/> |
| <doc> |
| <![CDATA[Returns a matcher which matches subclasses of the given type (as well as |
| the given type).]]> |
| </doc> |
| </method> |
| <method name="only" return="com.google.inject.matcher.Matcher<java.lang.Object>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="java.lang.Object"/> |
| <doc> |
| <![CDATA[Returns a matcher which matches objects equal to the given object.]]> |
| </doc> |
| </method> |
| <method name="identicalTo" return="com.google.inject.matcher.Matcher<java.lang.Object>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="java.lang.Object"/> |
| <doc> |
| <![CDATA[Returns a matcher which matches only the given object.]]> |
| </doc> |
| </method> |
| <method name="inPackage" return="com.google.inject.matcher.Matcher<java.lang.Class>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="targetPackage" type="java.lang.Package"/> |
| <doc> |
| <![CDATA[Returns a matcher which matches classes in the given package. Packages are specific to their |
| classloader, so classes with the same package name may not have the same package at runtime.]]> |
| </doc> |
| </method> |
| <method name="inSubpackage" return="com.google.inject.matcher.Matcher<java.lang.Class>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="targetPackageName" type="java.lang.String"/> |
| <doc> |
| <![CDATA[Returns a matcher which matches classes in the given package and its subpackages. Unlike |
| {@link #inPackage(Package) inPackage()}, this matches classes from any classloader. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="returns" return="com.google.inject.matcher.Matcher<java.lang.reflect.Method>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="returnType" type="com.google.inject.matcher.Matcher<? super java.lang.Class<?>>"/> |
| <doc> |
| <![CDATA[Returns a matcher which matches methods with matching return types.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Matcher implementations. Supports matching classes and methods. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.matcher.Matchers --> |
| </package> |
| <package name="com.google.inject.name"> |
| <!-- start class com.google.inject.name.Named --> |
| <class name="Named" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.lang.annotation.Annotation"/> |
| <doc> |
| <![CDATA[Annotates named things. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.name.Named --> |
| <!-- start class com.google.inject.name.Names --> |
| <class name="Names" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="named" return="com.google.inject.name.Named" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="name" type="java.lang.String"/> |
| <doc> |
| <![CDATA[Creates a {@link Named} annotation with {@code name} as the value.]]> |
| </doc> |
| </method> |
| <method name="bindProperties" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="properties" type="java.util.Map<java.lang.String, java.lang.String>"/> |
| <doc> |
| <![CDATA[Creates a constant binding to {@code @Named(key)} for each entry in |
| {@code properties}.]]> |
| </doc> |
| </method> |
| <method name="bindProperties" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="properties" type="java.util.Properties"/> |
| <doc> |
| <![CDATA[Creates a constant binding to {@code @Named(key)} for each property. This |
| method binds all properties including those inherited from |
| {@link Properties#defaults defaults}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Utility methods for use with {@code @}{@link Named}. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.name.Names --> |
| </package> |
| <package name="com.google.inject.spi"> |
| <!-- start interface com.google.inject.spi.BindingScopingVisitor --> |
| <interface name="BindingScopingVisitor" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="visitEagerSingleton" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Visit an eager singleton or single instance. This scope strategy is found on both module and |
| injector bindings.]]> |
| </doc> |
| </method> |
| <method name="visitScope" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="scope" type="com.google.inject.Scope"/> |
| <doc> |
| <![CDATA[Visit a scope instance. This scope strategy is found on both module and injector bindings.]]> |
| </doc> |
| </method> |
| <method name="visitScopeAnnotation" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="scopeAnnotation" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| <doc> |
| <![CDATA[Visit a scope annotation. This scope strategy is found only on module bindings. The instance |
| that implements this scope is registered by {@link com.google.inject.Binder#bindScope(Class, |
| Scope) Binder.bindScope()}.]]> |
| </doc> |
| </method> |
| <method name="visitNoScoping" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Visit an unspecified or unscoped strategy. On a module, this strategy indicates that the |
| injector should use scoping annotations to find a scope. On an injector, it indicates that |
| no scope is applied to the binding. An unscoped binding will behave like a scoped one when it |
| is linked to a scoped binding.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Visits each of the strategies used to scope an injection. |
| |
| @param <V> any type to be returned by the visit method. Use {@link Void} with |
| {@code return null} if no return type is needed. |
| @since 2.0]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.spi.BindingScopingVisitor --> |
| <!-- start interface com.google.inject.spi.BindingTargetVisitor --> |
| <interface name="BindingTargetVisitor" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="visitInstance" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="instance" type="T"/> |
| <param name="injectionPoints" type="java.util.Set<com.google.inject.spi.InjectionPoint>"/> |
| <doc> |
| <![CDATA[Visit a instance binding. The same instance is returned for every injection. This target is |
| found in both module and injector bindings. |
| |
| @param instance the user-supplied value |
| @param injectionPoints the field and method injection points of the instance, injected at |
| injector-creation time only.]]> |
| </doc> |
| </method> |
| <method name="visitProvider" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="provider" type="com.google.inject.Provider<? extends T>"/> |
| <param name="injectionPoints" type="java.util.Set<com.google.inject.spi.InjectionPoint>"/> |
| <doc> |
| <![CDATA[Visit a provider instance binding. The provider's {@code get} method is invoked to resolve |
| injections. This target is found in both module and injector bindings. |
| |
| @param provider the user-supplied, unscoped provider |
| @param injectionPoints the field and method injection points of the provider, injected at |
| injector-creation time only.]]> |
| </doc> |
| </method> |
| <method name="visitProviderKey" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="providerKey" type="com.google.inject.Key<? extends com.google.inject.Provider<? extends T>>"/> |
| <doc> |
| <![CDATA[Visit a provider key binding. To resolve injections, the provider injection is first |
| resolved, then that provider's {@code get} method is invoked. This target is found in both |
| module and injector bindings. |
| |
| @param providerKey the key used to resolve the provider's binding. That binding can be |
| retrieved from an injector using {@link com.google.inject.Injector#getBinding(Key) |
| Injector.getBinding(providerKey)}]]> |
| </doc> |
| </method> |
| <method name="visitKey" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<? extends T>"/> |
| <doc> |
| <![CDATA[Visit a linked key binding. The other key's binding is used to resolve injections. This |
| target is found in both module and injector bindings. |
| |
| @param key the linked key used to resolve injections. That binding can be retrieved from an |
| injector using {@link com.google.inject.Injector#getBinding(Key) Injector.getBinding(key)}]]> |
| </doc> |
| </method> |
| <method name="visitUntargetted" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Visit an untargetted binding. This target is found only on module bindings. It indicates |
| that the injector should use its implicit binding strategies to resolve injections.]]> |
| </doc> |
| </method> |
| <method name="visitConstructor" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="constructor" type="java.lang.reflect.Constructor<? extends T>"/> |
| <param name="injectionPoints" type="java.util.Set<com.google.inject.spi.InjectionPoint>"/> |
| <doc> |
| <![CDATA[Visit a constructor binding. To resolve injections, an instance is instantiated by invoking |
| {@code constructor}. This target is found only on injector bindings. |
| |
| @param constructor the {@link com.google.inject.Inject annotated} or default constructor that |
| is invoked for creating values |
| @param injectionPoints the constructor, field and method injection points to create and |
| populate a new instance. The set contains exactly one constructor injection point.]]> |
| </doc> |
| </method> |
| <method name="visitConvertedConstant" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="T"/> |
| <doc> |
| <![CDATA[Visit a binding created from converting a bound instance to a new type. The source binding |
| has the same binding annotation but a different type. This target is found only on injector |
| bindings. |
| |
| @param value the converted value]]> |
| </doc> |
| </method> |
| <method name="visitProviderBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="provided" type="com.google.inject.Key<?>"/> |
| <doc> |
| <![CDATA[Visit a binding to a {@link com.google.inject.Provider} that delegates to the binding for the |
| provided type. This target is found only on injector bindings. |
| |
| @param provided the key whose binding is used to {@link com.google.inject.Provider#get provide |
| instances}. That binding can be retrieved from an injector using {@link |
| com.google.inject.Injector#getBinding(Key) Injector.getBinding(provided)}]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Visits each of the strategies used to find an instance to satisfy an injection. |
| |
| @param <V> any type to be returned by the visit method. Use {@link Void} with |
| {@code return null} if no return type is needed. |
| @since 2.0]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.spi.BindingTargetVisitor --> |
| <!-- start class com.google.inject.spi.DefaultBindingScopingVisitor --> |
| <class name="DefaultBindingScopingVisitor" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.BindingScopingVisitor<V>"/> |
| <constructor name="DefaultBindingScopingVisitor" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="visitOther" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| </method> |
| <method name="visitEagerSingleton" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="visitScope" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="scope" type="com.google.inject.Scope"/> |
| </method> |
| <method name="visitScopeAnnotation" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="scopeAnnotation" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> |
| </method> |
| <method name="visitNoScoping" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <doc> |
| <![CDATA[No-op visitor for subclassing. All interface methods simply delegate to |
| {@link #visitOther()}, returning its result. |
| |
| @param <V> any type to be returned by the visit method. Use {@link Void} with |
| {@code return null} if no return type is needed. |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.DefaultBindingScopingVisitor --> |
| <!-- start class com.google.inject.spi.DefaultBindingTargetVisitor --> |
| <class name="DefaultBindingTargetVisitor" extends="java.lang.Object" |
| abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.BindingTargetVisitor<T, V>"/> |
| <constructor name="DefaultBindingTargetVisitor" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="visitOther" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| </method> |
| <method name="visitInstance" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="instance" type="T"/> |
| <param name="injectionPoints" type="java.util.Set<com.google.inject.spi.InjectionPoint>"/> |
| </method> |
| <method name="visitProvider" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="provider" type="com.google.inject.Provider<? extends T>"/> |
| <param name="injectionPoints" type="java.util.Set<com.google.inject.spi.InjectionPoint>"/> |
| </method> |
| <method name="visitProviderKey" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="providerKey" type="com.google.inject.Key<? extends com.google.inject.Provider<? extends T>>"/> |
| </method> |
| <method name="visitKey" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<? extends T>"/> |
| </method> |
| <method name="visitUntargetted" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="visitConstructor" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="constructor" type="java.lang.reflect.Constructor<? extends T>"/> |
| <param name="injectionPoints" type="java.util.Set<com.google.inject.spi.InjectionPoint>"/> |
| </method> |
| <method name="visitConvertedConstant" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="T"/> |
| </method> |
| <method name="visitProviderBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="provided" type="com.google.inject.Key<?>"/> |
| </method> |
| <doc> |
| <![CDATA[No-op visitor for subclassing. All interface methods simply delegate to |
| {@link #visitOther()}, returning its result. |
| |
| @param <V> any type to be returned by the visit method. Use {@link Void} with |
| {@code return null} if no return type is needed. |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.DefaultBindingTargetVisitor --> |
| <!-- start class com.google.inject.spi.DefaultElementVisitor --> |
| <class name="DefaultElementVisitor" extends="java.lang.Object" |
| abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.ElementVisitor<V>"/> |
| <constructor name="DefaultElementVisitor" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="visitElement" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="element" type="com.google.inject.spi.Element"/> |
| <doc> |
| <![CDATA[Visit {@code element} and return a result.]]> |
| </doc> |
| </method> |
| <method name="visitMessage" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="message" type="com.google.inject.spi.Message"/> |
| </method> |
| <method name="visitBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="command" type="com.google.inject.Binding<T>"/> |
| </method> |
| <method name="visitInterceptorBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="command" type="com.google.inject.spi.InterceptorBinding"/> |
| </method> |
| <method name="visitScopeBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="command" type="com.google.inject.spi.ScopeBinding"/> |
| </method> |
| <method name="visitTypeConverterBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="command" type="com.google.inject.spi.TypeConverterBinding"/> |
| </method> |
| <method name="visitProviderLookup" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="command" type="com.google.inject.spi.ProviderLookup<T>"/> |
| </method> |
| <method name="visitInjectionRequest" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="command" type="com.google.inject.spi.InjectionRequest"/> |
| </method> |
| <method name="visitStaticInjectionRequest" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="command" type="com.google.inject.spi.StaticInjectionRequest"/> |
| </method> |
| <doc> |
| <![CDATA[No-op visitor for subclassing. All interface methods simply delegate to |
| {@link #visitElement(Element)}, returning its result. |
| |
| @param <V> any type to be returned by the visit method. Use {@link Void} with |
| {@code return null} if no return type is needed. |
| |
| @author sberlin@gmail.com (Sam Berlin) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.DefaultElementVisitor --> |
| <!-- start class com.google.inject.spi.Dependency --> |
| <class name="Dependency" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.io.Serializable"/> |
| <method name="get" return="com.google.inject.spi.Dependency<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="key" type="com.google.inject.Key<T>"/> |
| <doc> |
| <![CDATA[Returns a new dependency that is not attached to an injection point. The returned dependency is |
| nullable.]]> |
| </doc> |
| </method> |
| <method name="getKey" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the key to the binding that satisfies this dependency.]]> |
| </doc> |
| </method> |
| <method name="isNullable" return="boolean" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns true if null is a legal value for this dependency.]]> |
| </doc> |
| </method> |
| <method name="getInjectionPoint" return="com.google.inject.spi.InjectionPoint" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the injection point to which this dependency belongs, or null if this dependency isn't |
| attached to a particular injection point.]]> |
| </doc> |
| </method> |
| <method name="getParameterIndex" return="int" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the index of this dependency in the injection point's parameter list, or {@code -1} if |
| this dependency does not belong to a parameter list. Only method and constuctor dependencies |
| are elements in a parameter list.]]> |
| </doc> |
| </method> |
| <method name="hashCode" return="int" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="equals" return="boolean" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="o" type="java.lang.Object"/> |
| </method> |
| <method name="toString" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <doc> |
| <![CDATA[A variable that can be resolved by an injector. |
| |
| <p>Use {@link #get} to build a freestanding dependency, or {@link InjectionPoint} to build one |
| that's attached to a constructor, method or field. |
| |
| @author crazybob@google.com (Bob Lee) |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.Dependency --> |
| <!-- start interface com.google.inject.spi.Element --> |
| <interface name="Element" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="getSource" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns an arbitrary object containing information about the "place" where this element was |
| configured. Used by Guice in the production of descriptive error messages. |
| |
| <p>Tools might specially handle types they know about; {@code StackTraceElement} is a good |
| example. Tools should simply call {@code toString()} on the source object if the type is |
| unfamiliar.]]> |
| </doc> |
| </method> |
| <method name="acceptVisitor" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.ElementVisitor<T>"/> |
| <doc> |
| <![CDATA[Accepts an element visitor. Invokes the visitor method specific to this element's type. |
| |
| @param visitor to call back on]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[A core component of a module or injector. |
| |
| <p>The elements of a module can be inspected, validated and rewritten. Use {@link |
| Elements#getElements(com.google.inject.Module[]) Elements.getElements()} to read the elements |
| from a module, and {@link com.google.inject.spi.ModuleWriter} to rewrite them. This can be used |
| for static analysis and generation of Guice modules. |
| |
| <p>The elements of an injector can be inspected and exercised. Use {@link |
| com.google.inject.Injector#getBindings Injector.getBindings()} to reflect on Guice injectors. |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.spi.Element --> |
| <!-- start class com.google.inject.spi.Elements --> |
| <class name="Elements" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <constructor name="Elements" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="getElements" return="java.util.List<com.google.inject.spi.Element>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="com.google.inject.Module[]"/> |
| <doc> |
| <![CDATA[Records the elements executed by {@code modules}.]]> |
| </doc> |
| </method> |
| <method name="getElements" return="java.util.List<com.google.inject.spi.Element>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="stage" type="com.google.inject.Stage"/> |
| <param name="modules" type="com.google.inject.Module[]"/> |
| <doc> |
| <![CDATA[Records the elements executed by {@code modules}.]]> |
| </doc> |
| </method> |
| <method name="getElements" return="java.util.List<com.google.inject.spi.Element>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="java.lang.Iterable<? extends com.google.inject.Module>"/> |
| <doc> |
| <![CDATA[Records the elements executed by {@code modules}.]]> |
| </doc> |
| </method> |
| <method name="getElements" return="java.util.List<com.google.inject.spi.Element>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="stage" type="com.google.inject.Stage"/> |
| <param name="modules" type="java.lang.Iterable<? extends com.google.inject.Module>"/> |
| <doc> |
| <![CDATA[Records the elements executed by {@code modules}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Exposes elements of a module so they can be inspected, validated or {@link ModuleWriter |
| rewritten}. |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.Elements --> |
| <!-- start interface com.google.inject.spi.ElementVisitor --> |
| <interface name="ElementVisitor" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="visitBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="binding" type="com.google.inject.Binding<T>"/> |
| <doc> |
| <![CDATA[Visit a mapping from a key (type and optional annotation) to the strategy for getting |
| instances of the type.]]> |
| </doc> |
| </method> |
| <method name="visitInterceptorBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="interceptorBinding" type="com.google.inject.spi.InterceptorBinding"/> |
| <doc> |
| <![CDATA[Visit a registration of interceptors for matching methods of matching classes.]]> |
| </doc> |
| </method> |
| <method name="visitScopeBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="scopeBinding" type="com.google.inject.spi.ScopeBinding"/> |
| <doc> |
| <![CDATA[Visit a registration of a scope annotation with the scope that implements it.]]> |
| </doc> |
| </method> |
| <method name="visitTypeConverterBinding" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="typeConverterBinding" type="com.google.inject.spi.TypeConverterBinding"/> |
| <doc> |
| <![CDATA[Visit a registration of type converters for matching target types.]]> |
| </doc> |
| </method> |
| <method name="visitInjectionRequest" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="injectionRequest" type="com.google.inject.spi.InjectionRequest"/> |
| <doc> |
| <![CDATA[Visit a request to inject the instance fields and methods of an instance.]]> |
| </doc> |
| </method> |
| <method name="visitStaticInjectionRequest" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="staticInjectionRequest" type="com.google.inject.spi.StaticInjectionRequest"/> |
| <doc> |
| <![CDATA[Visit a request to inject the static fields and methods of type.]]> |
| </doc> |
| </method> |
| <method name="visitProviderLookup" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="providerLookup" type="com.google.inject.spi.ProviderLookup<T>"/> |
| <doc> |
| <![CDATA[Visit a lookup of the provider for a type.]]> |
| </doc> |
| </method> |
| <method name="visitMessage" return="V" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="message" type="com.google.inject.spi.Message"/> |
| <doc> |
| <![CDATA[Visit an error message and the context in which it occured.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Visit elements. |
| |
| @param <V> any type to be returned by the visit method. Use {@link Void} with |
| {@code return null} if no return type is needed. |
| |
| @since 2.0]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.spi.ElementVisitor --> |
| <!-- start class com.google.inject.spi.InjectionPoint --> |
| <class name="InjectionPoint" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.io.Serializable"/> |
| <method name="getMember" return="java.lang.reflect.Member" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the injected constructor, field, or method.]]> |
| </doc> |
| </method> |
| <method name="getDependencies" return="java.util.List<com.google.inject.spi.Dependency<?>>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the dependencies for this injection point. If the injection point is for a method or |
| constructor, the dependencies will correspond to that member's parameters. Field injection |
| points always have a single dependency for the field itself. |
| |
| @return a possibly-empty list]]> |
| </doc> |
| </method> |
| <method name="isOptional" return="boolean" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns true if this injection point shall be skipped if the injector cannot resolve bindings |
| for all required dependencies. Both explicit bindings (as specified in a module), and implicit |
| bindings ({@literal @}{@link com.google.inject.ImplementedBy ImplementedBy}, default |
| constructors etc.) may be used to satisfy optional injection points.]]> |
| </doc> |
| </method> |
| <method name="equals" return="boolean" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="o" type="java.lang.Object"/> |
| </method> |
| <method name="hashCode" return="int" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="toString" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="forConstructorOf" return="com.google.inject.spi.InjectionPoint" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="com.google.inject.TypeLiteral<?>"/> |
| <doc> |
| <![CDATA[Returns a new injection point for the injectable constructor of {@code type}. |
| |
| @param type a concrete type with exactly one constructor annotated {@literal @}{@link Inject}, |
| or a no-arguments constructor that is not private. |
| @throws ConfigurationException if there is no injectable constructor, more than one injectable |
| constructor, or if parameters of the injectable constructor are malformed, such as a |
| parameter with multiple binding annotations.]]> |
| </doc> |
| </method> |
| <method name="forConstructorOf" return="com.google.inject.spi.InjectionPoint" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<?>"/> |
| <doc> |
| <![CDATA[Returns a new injection point for the injectable constructor of {@code type}. |
| |
| @param type a concrete type with exactly one constructor annotated {@literal @}{@link Inject}, |
| or a no-arguments constructor that is not private. |
| @throws ConfigurationException if there is no injectable constructor, more than one injectable |
| constructor, or if parameters of the injectable constructor are malformed, such as a |
| parameter with multiple binding annotations.]]> |
| </doc> |
| </method> |
| <method name="forStaticMethodsAndFields" return="java.util.Set<com.google.inject.spi.InjectionPoint>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="com.google.inject.TypeLiteral"/> |
| <doc> |
| <![CDATA[Returns all static method and field injection points on {@code type}. All fields are added |
| first, and then all methods. Within the fields, supertype fields are added before subtype |
| fields. Similarly, supertype methods are added before subtype methods. |
| |
| @throws ConfigurationException if there is a malformed injection point on {@code type}, such as |
| a field with multiple binding annotations. The exception's {@link |
| ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>} |
| of the valid injection points.]]> |
| </doc> |
| </method> |
| <method name="forStaticMethodsAndFields" return="java.util.Set<com.google.inject.spi.InjectionPoint>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<?>"/> |
| <doc> |
| <![CDATA[Returns all static method and field injection points on {@code type}. All fields are added |
| first, and then all methods. Within the fields, supertype fields are added before subtype |
| fields. Similarly, supertype methods are added before subtype methods. |
| |
| @throws ConfigurationException if there is a malformed injection point on {@code type}, such as |
| a field with multiple binding annotations. The exception's {@link |
| ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>} |
| of the valid injection points.]]> |
| </doc> |
| </method> |
| <method name="forInstanceMethodsAndFields" return="java.util.Set<com.google.inject.spi.InjectionPoint>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="com.google.inject.TypeLiteral<?>"/> |
| <doc> |
| <![CDATA[Returns all instance method and field injection points on {@code type}. All fields are added |
| first, and then all methods. Within the fields, supertype fields are added before subtype |
| fields. Similarly, supertype methods are added before subtype methods. |
| |
| @throws ConfigurationException if there is a malformed injection point on {@code type}, such as |
| a field with multiple binding annotations. The exception's {@link |
| ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>} |
| of the valid injection points.]]> |
| </doc> |
| </method> |
| <method name="forInstanceMethodsAndFields" return="java.util.Set<com.google.inject.spi.InjectionPoint>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="type" type="java.lang.Class<?>"/> |
| <doc> |
| <![CDATA[Returns all instance method and field injection points on {@code type}. All fields are added |
| first, and then all methods. Within the fields, supertype fields are added before subtype |
| fields. Similarly, supertype methods are added before subtype methods. |
| |
| @throws ConfigurationException if there is a malformed injection point on {@code type}, such as |
| a field with multiple binding annotations. The exception's {@link |
| ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>} |
| of the valid injection points.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[A constructor, field or method that can receive injections. Typically this is a member with the |
| {@literal @}{@link Inject} annotation. For non-private, no argument constructors, the member may |
| omit the annotation. |
| |
| @author crazybob@google.com (Bob Lee) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.InjectionPoint --> |
| <!-- start class com.google.inject.spi.InjectionRequest --> |
| <class name="InjectionRequest" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.Element"/> |
| <constructor name="InjectionRequest" type="java.lang.Object, java.lang.Object" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="getSource" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getInstance" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="acceptVisitor" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.ElementVisitor<T>"/> |
| </method> |
| <doc> |
| <![CDATA[A request to inject the instance fields and methods of an instance. Requests are created |
| explicitly in a module using {@link com.google.inject.Binder#requestInjection(Object[]) |
| requestInjection()} statements: |
| <pre> |
| requestInjection(serviceInstance);</pre> |
| |
| @author mikeward@google.com (Mike Ward) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.InjectionRequest --> |
| <!-- start class com.google.inject.spi.InterceptorBinding --> |
| <class name="InterceptorBinding" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.Element"/> |
| <method name="getSource" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getClassMatcher" return="com.google.inject.matcher.Matcher<? super java.lang.Class<?>>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getMethodMatcher" return="com.google.inject.matcher.Matcher<? super java.lang.reflect.Method>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getInterceptors" return="java.util.List<MethodInterceptor>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="acceptVisitor" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.ElementVisitor<T>"/> |
| </method> |
| <doc> |
| <![CDATA[Registration of interceptors for matching methods of matching classes. Instances are created |
| explicitly in a module using {@link com.google.inject.Binder#bindInterceptor( |
| Matcher, Matcher, MethodInterceptor[]) bindInterceptor()} statements: |
| <pre> |
| bindInterceptor(Matchers.subclassesOf(MyAction.class), |
| Matchers.annotatedWith(Transactional.class), |
| new MyTransactionInterceptor());</pre> |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.InterceptorBinding --> |
| <!-- start class com.google.inject.spi.Message --> |
| <class name="Message" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="java.io.Serializable"/> |
| <implements name="com.google.inject.spi.Element"/> |
| <constructor name="Message" type="java.util.List<java.lang.Object>, java.lang.String, java.lang.Throwable" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[@since 2.0]]> |
| </doc> |
| </constructor> |
| <constructor name="Message" type="java.lang.Object, java.lang.String" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <constructor name="Message" type="java.lang.String" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="getSource" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getSources" return="java.util.List<java.lang.Object>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[@since 2.0]]> |
| </doc> |
| </method> |
| <method name="getMessage" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets the error message text.]]> |
| </doc> |
| </method> |
| <method name="acceptVisitor" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.ElementVisitor<T>"/> |
| <doc> |
| <![CDATA[@since 2.0]]> |
| </doc> |
| </method> |
| <method name="getCause" return="java.lang.Throwable" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the throwable that caused this message, or {@code null} if this |
| message was not caused by a throwable. |
| |
| @since 2.0]]> |
| </doc> |
| </method> |
| <method name="toString" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="hashCode" return="int" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="equals" return="boolean" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="o" type="java.lang.Object"/> |
| </method> |
| <doc> |
| <![CDATA[An error message and the context in which it occured. Messages are usually created internally by |
| Guice and its extensions. Messages can be created explicitly in a module using {@link |
| com.google.inject.Binder#addError(Throwable) addError()} statements: |
| <pre> |
| try { |
| bindPropertiesFromFile(); |
| } catch (IOException e) { |
| addError(e); |
| }</pre> |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.Message --> |
| <!-- start class com.google.inject.spi.ModuleWriter --> |
| <class name="ModuleWriter" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <constructor name="ModuleWriter" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="create" return="com.google.inject.Module" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <param name="elements" type="java.lang.Iterable<? extends com.google.inject.spi.Element>"/> |
| <doc> |
| <![CDATA[Returns a module that executes the specified elements |
| using this executing visitor.]]> |
| </doc> |
| </method> |
| <method name="apply" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="elements" type="java.lang.Iterable<? extends com.google.inject.spi.Element>"/> |
| <doc> |
| <![CDATA[Replays {@code elements} against {@code binder}.]]> |
| </doc> |
| </method> |
| <method name="writeMessage" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="element" type="com.google.inject.spi.Message"/> |
| </method> |
| <method name="writeBindInterceptor" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="element" type="com.google.inject.spi.InterceptorBinding"/> |
| </method> |
| <method name="writeBindScope" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="element" type="com.google.inject.spi.ScopeBinding"/> |
| </method> |
| <method name="writeRequestInjection" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="command" type="com.google.inject.spi.InjectionRequest"/> |
| </method> |
| <method name="writeRequestStaticInjection" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="element" type="com.google.inject.spi.StaticInjectionRequest"/> |
| </method> |
| <method name="writeConvertToTypes" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="element" type="com.google.inject.spi.TypeConverterBinding"/> |
| </method> |
| <method name="writeBind" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="element" type="com.google.inject.Binding<T>"/> |
| </method> |
| <method name="applyTarget" return="com.google.inject.binder.ScopedBindingBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binding" type="com.google.inject.Binding<T>"/> |
| <param name="linkedBindingBuilder" type="com.google.inject.binder.LinkedBindingBuilder<T>"/> |
| <doc> |
| <![CDATA[Execute this target against the linked binding builder.]]> |
| </doc> |
| </method> |
| <method name="applyScoping" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binding" type="com.google.inject.Binding<?>"/> |
| <param name="scopedBindingBuilder" type="com.google.inject.binder.ScopedBindingBuilder"/> |
| </method> |
| <method name="writeGetProvider" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="protected" |
| deprecated="not deprecated"> |
| <param name="binder" type="com.google.inject.Binder"/> |
| <param name="element" type="com.google.inject.spi.ProviderLookup<T>"/> |
| </method> |
| <doc> |
| <![CDATA[Creates a Module from a collection of component elements. |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.ModuleWriter --> |
| <!-- start class com.google.inject.spi.ProviderLookup --> |
| <class name="ProviderLookup" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.Element"/> |
| <method name="getSource" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getKey" return="com.google.inject.Key<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="acceptVisitor" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.ElementVisitor<T>"/> |
| </method> |
| <method name="initDelegate" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="delegate" type="com.google.inject.Provider<T>"/> |
| </method> |
| <method name="getDelegate" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Returns the delegate provider, or {@code null} if it has not yet been initialized. The delegate |
| will be initialized when this element is processed, or otherwise used to create an injector.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[A lookup of the provider for a type. Lookups are created explicitly in a module using |
| {@link com.google.inject.Binder#getProvider(Class) getProvider()} statements: |
| <pre> |
| Provider<PaymentService> paymentServiceProvider |
| = getProvider(PaymentService.class);</pre> |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.ProviderLookup --> |
| <!-- start class com.google.inject.spi.ScopeBinding --> |
| <class name="ScopeBinding" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.Element"/> |
| <method name="getSource" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getAnnotationType" return="java.lang.Class<? extends java.lang.annotation.Annotation>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getScope" return="com.google.inject.Scope" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="acceptVisitor" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.ElementVisitor<T>"/> |
| </method> |
| <doc> |
| <![CDATA[Registration of a scope annotation with the scope that implements it. Instances are created |
| explicitly in a module using {@link com.google.inject.Binder#bindScope(Class, Scope) bindScope()} |
| statements: |
| <pre> |
| Scope recordScope = new RecordScope(); |
| bindScope(RecordScoped.class, new RecordScope());</pre> |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.ScopeBinding --> |
| <!-- start class com.google.inject.spi.StaticInjectionRequest --> |
| <class name="StaticInjectionRequest" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.Element"/> |
| <method name="getSource" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getType" return="java.lang.Class<?>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="acceptVisitor" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.ElementVisitor<T>"/> |
| </method> |
| <doc> |
| <![CDATA[A request to inject the static fields and methods of type. Requests are created |
| explicitly in a module using {@link com.google.inject.Binder#requestStaticInjection(Class[]) |
| requestStaticInjection()} statements: |
| <pre> |
| requestStaticInjection(MyLegacyService.class);</pre> |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.StaticInjectionRequest --> |
| <!-- start interface com.google.inject.spi.TypeConverter --> |
| <interface name="TypeConverter" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="convert" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="value" type="java.lang.String"/> |
| <param name="toType" type="com.google.inject.TypeLiteral<?>"/> |
| <doc> |
| <![CDATA[Converts a string value. Throws an exception if a conversion error occurs.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Converts constant string values to a different type. |
| |
| @author crazybob@google.com (Bob Lee) |
| @since 2.0]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.spi.TypeConverter --> |
| <!-- start class com.google.inject.spi.TypeConverterBinding --> |
| <class name="TypeConverterBinding" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <implements name="com.google.inject.spi.Element"/> |
| <method name="getSource" return="java.lang.Object" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getTypeMatcher" return="com.google.inject.matcher.Matcher<? super com.google.inject.TypeLiteral<?>>" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="getTypeConverter" return="com.google.inject.spi.TypeConverter" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </method> |
| <method name="acceptVisitor" return="T" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="visitor" type="com.google.inject.spi.ElementVisitor<T>"/> |
| </method> |
| <doc> |
| <![CDATA[Registration of type converters for matching target types. Instances are created |
| explicitly in a module using {@link com.google.inject.Binder#convertToTypes(Matcher, |
| TypeConverter) convertToTypes()} statements: |
| <pre> |
| convertToTypes(Matchers.only(DateTime.class), new DateTimeConverter());</pre> |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.spi.TypeConverterBinding --> |
| </package> |
| <package name="com.google.inject.tools.jmx"> |
| <!-- start interface com.google.inject.tools.jmx.ManagedBindingMBean --> |
| <interface name="ManagedBindingMBean" abstract="true" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="getSource" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets the source of this binding.]]> |
| </doc> |
| </method> |
| <method name="getProvider" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets the provider to which this binding is bound.]]> |
| </doc> |
| </method> |
| <method name="getKey" return="java.lang.String" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <doc> |
| <![CDATA[Gets the binding key.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[JMX interface to bindings. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.tools.jmx.ManagedBindingMBean --> |
| <!-- start class com.google.inject.tools.jmx.Manager --> |
| <class name="Manager" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <constructor name="Manager" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| </constructor> |
| <method name="manage" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="domain" type="java.lang.String"/> |
| <param name="injector" type="com.google.inject.Injector"/> |
| <doc> |
| <![CDATA[Registers all the bindings of an Injector with the platform MBean server. |
| Consider using the name of your root {@link Module} class as the domain.]]> |
| </doc> |
| </method> |
| <method name="manage" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="server" type="javax.management.MBeanServer"/> |
| <param name="domain" type="java.lang.String"/> |
| <param name="injector" type="com.google.inject.Injector"/> |
| <doc> |
| <![CDATA[Registers all the bindings of an Injector with the given MBean server. |
| Consider using the name of your root {@link Module} class as the domain.]]> |
| </doc> |
| </method> |
| <method name="main" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="args" type="java.lang.String[]"/> |
| <exception name="Exception" type="java.lang.Exception"/> |
| <doc> |
| <![CDATA[Run with no arguments for usage instructions.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Provides a JMX interface to Guice. |
| |
| @author crazybob@google.com (Bob Lee)]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.tools.jmx.Manager --> |
| </package> |
| <package name="com.google.inject.util"> |
| <!-- start class com.google.inject.util.Modules --> |
| <class name="Modules" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <method name="override" return="com.google.inject.util.Modules.OverriddenModuleBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="com.google.inject.Module[]"/> |
| <doc> |
| <![CDATA[Returns a builder that creates a module that overlays override modules over the given |
| modules. If a key is bound in both sets of modules, only the binding from the override modules |
| is kept. This can be used to replace the bindings of a production module with test bindings: |
| <pre> |
| Module functionalTestModule |
| = Modules.override(new ProductionModule()).with(new TestModule()); |
| </pre> |
| |
| <p>Prefer to write smaller modules that can be reused and tested without overrides. |
| |
| @param modules the modules whose bindings are open to be overridden]]> |
| </doc> |
| </method> |
| <method name="override" return="com.google.inject.util.Modules.OverriddenModuleBuilder" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="java.lang.Iterable<? extends com.google.inject.Module>"/> |
| <doc> |
| <![CDATA[Returns a builder that creates a module that overlays override modules over the given |
| modules. If a key is bound in both sets of modules, only the binding from the override modules |
| is kept. This can be used to replace the bindings of a production module with test bindings: |
| <pre> |
| Module functionalTestModule |
| = Modules.override(getProductionModules()).with(getTestModules()); |
| </pre> |
| |
| <p>Prefer to write smaller modules that can be reused and tested without overrides. |
| |
| @param modules the modules whose bindings are open to be overridden]]> |
| </doc> |
| </method> |
| <method name="combine" return="com.google.inject.Module" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="com.google.inject.Module[]"/> |
| <doc> |
| <![CDATA[Returns a new module that installs all of {@code modules}.]]> |
| </doc> |
| </method> |
| <method name="combine" return="com.google.inject.Module" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="modules" type="java.lang.Iterable<? extends com.google.inject.Module>"/> |
| <doc> |
| <![CDATA[Returns a new module that installs all of {@code modules}.]]> |
| </doc> |
| </method> |
| <field name="EMPTY_MODULE" type="com.google.inject.Module" |
| transient="false" volatile="false" |
| static="true" final="true" visibility="public" |
| deprecated="not deprecated"> |
| </field> |
| <doc> |
| <![CDATA[Static utility methods for creating and working with instances of {@link Module}. |
| |
| @author jessewilson@google.com (Jesse Wilson) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.util.Modules --> |
| <!-- start interface com.google.inject.util.Modules.OverriddenModuleBuilder --> |
| <interface name="Modules.OverriddenModuleBuilder" abstract="true" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <method name="with" return="com.google.inject.Module" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="overrides" type="com.google.inject.Module[]"/> |
| <doc> |
| <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]> |
| </doc> |
| </method> |
| <method name="with" return="com.google.inject.Module" |
| abstract="false" native="false" synchronized="false" |
| static="false" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="overrides" type="java.lang.Iterable<? extends com.google.inject.Module>"/> |
| <doc> |
| <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]> |
| </doc> |
| </interface> |
| <!-- end interface com.google.inject.util.Modules.OverriddenModuleBuilder --> |
| <!-- start class com.google.inject.util.Providers --> |
| <class name="Providers" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <method name="of" return="com.google.inject.Provider<T>" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="instance" type="T"/> |
| <doc> |
| <![CDATA[Returns a provider which always provides {@code instance}. This should not |
| be necessary to use in your application, but is helpful for several types |
| of unit tests. |
| |
| @param instance the instance that should always be provided. This is also |
| permitted to be null, to enable aggressive testing, although in real |
| life a Guice-supplied Provider will never return null.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Static utility methods for creating and working with instances of |
| {@link Provider}. |
| |
| @author Kevin Bourrillion (kevinb9n@gmail.com) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.util.Providers --> |
| <!-- start class com.google.inject.util.Types --> |
| <class name="Types" extends="java.lang.Object" |
| abstract="false" |
| static="false" final="true" visibility="public" |
| deprecated="not deprecated"> |
| <method name="newParameterizedType" return="java.lang.reflect.ParameterizedType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="rawType" type="java.lang.reflect.Type"/> |
| <param name="typeArguments" type="java.lang.reflect.Type[]"/> |
| <doc> |
| <![CDATA[Returns a new parameterized type, applying {@code typeArguments} to |
| {@code rawType}. The returned type does not have an owner type. |
| |
| @return a {@link java.io.Serializable serializable} parameterized type.]]> |
| </doc> |
| </method> |
| <method name="newParameterizedTypeWithOwner" return="java.lang.reflect.ParameterizedType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="ownerType" type="java.lang.reflect.Type"/> |
| <param name="rawType" type="java.lang.reflect.Type"/> |
| <param name="typeArguments" type="java.lang.reflect.Type[]"/> |
| <doc> |
| <![CDATA[Returns a new parameterized type, applying {@code typeArguments} to |
| {@code rawType} and enclosed by {@code ownerType}. |
| |
| @return a {@link java.io.Serializable serializable} parameterized type.]]> |
| </doc> |
| </method> |
| <method name="arrayOf" return="java.lang.reflect.GenericArrayType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="componentType" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Returns an array type whose elements are all instances of |
| {@code componentType}. |
| |
| @return a {@link java.io.Serializable serializable} generic array type.]]> |
| </doc> |
| </method> |
| <method name="subtypeOf" return="java.lang.reflect.WildcardType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="bound" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Returns a type that represents an unknown type that extends {@code bound}.]]> |
| </doc> |
| </method> |
| <method name="supertypeOf" return="java.lang.reflect.WildcardType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="bound" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Returns a type that represents an unknown supertype of {@code bound}.]]> |
| </doc> |
| </method> |
| <method name="listOf" return="java.lang.reflect.ParameterizedType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="elementType" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Returns a type modelling a {@link List} whose elements are of type |
| {@code elementType}. |
| |
| @return a {@link java.io.Serializable serializable} parameterized type.]]> |
| </doc> |
| </method> |
| <method name="setOf" return="java.lang.reflect.ParameterizedType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="elementType" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Returns a type modelling a {@link Set} whose elements are of type |
| {@code elementType}. |
| |
| @return a {@link java.io.Serializable serializable} parameterized type.]]> |
| </doc> |
| </method> |
| <method name="mapOf" return="java.lang.reflect.ParameterizedType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="keyType" type="java.lang.reflect.Type"/> |
| <param name="valueType" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Returns a type modelling a {@link Map} whose keys are of type |
| {@code keyType} and whose values are of type {@code valueType}. |
| |
| @return a {@link java.io.Serializable serializable} parameterized type.]]> |
| </doc> |
| </method> |
| <method name="providerOf" return="java.lang.reflect.ParameterizedType" |
| abstract="false" native="false" synchronized="false" |
| static="true" final="false" visibility="public" |
| deprecated="not deprecated"> |
| <param name="providedType" type="java.lang.reflect.Type"/> |
| <doc> |
| <![CDATA[Returns a type modelling a {@link Provider} that provides elements of type |
| {@code elementType}. |
| |
| @return a {@link java.io.Serializable serializable} parameterized type.]]> |
| </doc> |
| </method> |
| <doc> |
| <![CDATA[Static methods for working with types. |
| |
| @author crazybob@google.com (Bob Lee) |
| @since 2.0]]> |
| </doc> |
| </class> |
| <!-- end class com.google.inject.util.Types --> |
| </package> |
| |
| </api> |