1*dc5640d1SHerbert Xue<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> 2*dc5640d1SHerbert Xue<!-- Generated by the JDiff Javadoc doclet --> 3*dc5640d1SHerbert Xue<!-- (http://www.jdiff.org) --> 4*dc5640d1SHerbert Xue<!-- on Tue May 19 17:01:51 PDT 2009 --> 5*dc5640d1SHerbert Xue 6*dc5640d1SHerbert Xue<api 7*dc5640d1SHerbert Xue xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 8*dc5640d1SHerbert Xue xsi:noNamespaceSchemaLocation='api.xsd' 9*dc5640d1SHerbert Xue name="1.0" 10*dc5640d1SHerbert Xue jdversion="1.1.1"> 11*dc5640d1SHerbert Xue 12*dc5640d1SHerbert Xue<!-- 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/junit.jar:/usr/share/ant/lib/xercesImpl.jar:/usr/share/ant/lib/xml-apis.jar -sourcepath /Users/jessewilson/Guice/guice-everything/tags/1.0/src:/Users/jessewilson/Guice/guice-everything/tags/1.0/servlet/src:/Users/jessewilson/Guice/guice-everything/tags/1.0/spring/src:/Users/jessewilson/Guice/guice-everything/tags/1.0/struts2/plugin/src -apiname 1.0 -baseURI http://www.w3.org -apidir /Users/jessewilson/Guice/guice-everything/api-diffs -source 1.5 --> 13*dc5640d1SHerbert Xue<package name="com.google.inject"> 14*dc5640d1SHerbert Xue <!-- start class com.google.inject.AbstractModule --> 15*dc5640d1SHerbert Xue <class name="AbstractModule" extends="java.lang.Object" 16*dc5640d1SHerbert Xue abstract="true" 17*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 18*dc5640d1SHerbert Xue deprecated="not deprecated"> 19*dc5640d1SHerbert Xue <implements name="com.google.inject.Module"/> 20*dc5640d1SHerbert Xue <constructor name="AbstractModule" 21*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 22*dc5640d1SHerbert Xue deprecated="not deprecated"> 23*dc5640d1SHerbert Xue </constructor> 24*dc5640d1SHerbert Xue <method name="configure" 25*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="true" 26*dc5640d1SHerbert Xue static="false" final="true" visibility="public" 27*dc5640d1SHerbert Xue deprecated="not deprecated"> 28*dc5640d1SHerbert Xue <param name="builder" type="com.google.inject.Binder"/> 29*dc5640d1SHerbert Xue </method> 30*dc5640d1SHerbert Xue <method name="configure" 31*dc5640d1SHerbert Xue abstract="true" native="false" synchronized="false" 32*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 33*dc5640d1SHerbert Xue deprecated="not deprecated"> 34*dc5640d1SHerbert Xue <doc> 35*dc5640d1SHerbert Xue <![CDATA[Configures a {@link Binder} via the exposed methods.]]> 36*dc5640d1SHerbert Xue </doc> 37*dc5640d1SHerbert Xue </method> 38*dc5640d1SHerbert Xue <method name="binder" return="com.google.inject.Binder" 39*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 40*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 41*dc5640d1SHerbert Xue deprecated="not deprecated"> 42*dc5640d1SHerbert Xue <doc> 43*dc5640d1SHerbert Xue <![CDATA[Gets direct access to the underlying {@code Binder}.]]> 44*dc5640d1SHerbert Xue </doc> 45*dc5640d1SHerbert Xue </method> 46*dc5640d1SHerbert Xue <method name="bindScope" 47*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 48*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 49*dc5640d1SHerbert Xue deprecated="not deprecated"> 50*dc5640d1SHerbert Xue <param name="scopeAnnotation" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 51*dc5640d1SHerbert Xue <param name="scope" type="com.google.inject.Scope"/> 52*dc5640d1SHerbert Xue <doc> 53*dc5640d1SHerbert Xue <![CDATA[@see Binder#bindScope(Class, Scope)]]> 54*dc5640d1SHerbert Xue </doc> 55*dc5640d1SHerbert Xue </method> 56*dc5640d1SHerbert Xue <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder<T>" 57*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 58*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 59*dc5640d1SHerbert Xue deprecated="not deprecated"> 60*dc5640d1SHerbert Xue <param name="key" type="com.google.inject.Key<T>"/> 61*dc5640d1SHerbert Xue <doc> 62*dc5640d1SHerbert Xue <![CDATA[@see Binder#bind(Key)]]> 63*dc5640d1SHerbert Xue </doc> 64*dc5640d1SHerbert Xue </method> 65*dc5640d1SHerbert Xue <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder<T>" 66*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 67*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 68*dc5640d1SHerbert Xue deprecated="not deprecated"> 69*dc5640d1SHerbert Xue <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> 70*dc5640d1SHerbert Xue <doc> 71*dc5640d1SHerbert Xue <![CDATA[@see Binder#bind(TypeLiteral)]]> 72*dc5640d1SHerbert Xue </doc> 73*dc5640d1SHerbert Xue </method> 74*dc5640d1SHerbert Xue <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder<T>" 75*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 76*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 77*dc5640d1SHerbert Xue deprecated="not deprecated"> 78*dc5640d1SHerbert Xue <param name="clazz" type="java.lang.Class<T>"/> 79*dc5640d1SHerbert Xue <doc> 80*dc5640d1SHerbert Xue <![CDATA[@see Binder#bind(Class)]]> 81*dc5640d1SHerbert Xue </doc> 82*dc5640d1SHerbert Xue </method> 83*dc5640d1SHerbert Xue <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder" 84*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 85*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 86*dc5640d1SHerbert Xue deprecated="not deprecated"> 87*dc5640d1SHerbert Xue <doc> 88*dc5640d1SHerbert Xue <![CDATA[@see Binder#bindConstant()]]> 89*dc5640d1SHerbert Xue </doc> 90*dc5640d1SHerbert Xue </method> 91*dc5640d1SHerbert Xue <method name="install" 92*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 93*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 94*dc5640d1SHerbert Xue deprecated="not deprecated"> 95*dc5640d1SHerbert Xue <param name="module" type="com.google.inject.Module"/> 96*dc5640d1SHerbert Xue <doc> 97*dc5640d1SHerbert Xue <![CDATA[@see Binder#install(Module)]]> 98*dc5640d1SHerbert Xue </doc> 99*dc5640d1SHerbert Xue </method> 100*dc5640d1SHerbert Xue <method name="addError" 101*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 102*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 103*dc5640d1SHerbert Xue deprecated="not deprecated"> 104*dc5640d1SHerbert Xue <param name="message" type="java.lang.String"/> 105*dc5640d1SHerbert Xue <param name="arguments" type="java.lang.Object[]"/> 106*dc5640d1SHerbert Xue <doc> 107*dc5640d1SHerbert Xue <![CDATA[@see Binder#addError(String, Object[])]]> 108*dc5640d1SHerbert Xue </doc> 109*dc5640d1SHerbert Xue </method> 110*dc5640d1SHerbert Xue <method name="addError" 111*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 112*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 113*dc5640d1SHerbert Xue deprecated="not deprecated"> 114*dc5640d1SHerbert Xue <param name="t" type="java.lang.Throwable"/> 115*dc5640d1SHerbert Xue <doc> 116*dc5640d1SHerbert Xue <![CDATA[@see Binder#addError(Throwable)]]> 117*dc5640d1SHerbert Xue </doc> 118*dc5640d1SHerbert Xue </method> 119*dc5640d1SHerbert Xue <method name="requestStaticInjection" 120*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 121*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 122*dc5640d1SHerbert Xue deprecated="not deprecated"> 123*dc5640d1SHerbert Xue <param name="types" type="java.lang.Class[]"/> 124*dc5640d1SHerbert Xue <doc> 125*dc5640d1SHerbert Xue <![CDATA[@see Binder#requestStaticInjection(Class[])]]> 126*dc5640d1SHerbert Xue </doc> 127*dc5640d1SHerbert Xue </method> 128*dc5640d1SHerbert Xue <method name="bindInterceptor" 129*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 130*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 131*dc5640d1SHerbert Xue deprecated="not deprecated"> 132*dc5640d1SHerbert Xue <param name="classMatcher" type="com.google.inject.matcher.Matcher<? super java.lang.Class<?>>"/> 133*dc5640d1SHerbert Xue <param name="methodMatcher" type="com.google.inject.matcher.Matcher<? super java.lang.reflect.Method>"/> 134*dc5640d1SHerbert Xue <param name="interceptors" type="MethodInterceptor[]"/> 135*dc5640d1SHerbert Xue <doc> 136*dc5640d1SHerbert Xue <![CDATA[@see Binder#bindInterceptor(com.google.inject.matcher.Matcher, 137*dc5640d1SHerbert Xue com.google.inject.matcher.Matcher, 138*dc5640d1SHerbert Xue org.aopalliance.intercept.MethodInterceptor[])]]> 139*dc5640d1SHerbert Xue </doc> 140*dc5640d1SHerbert Xue </method> 141*dc5640d1SHerbert Xue <doc> 142*dc5640d1SHerbert Xue <![CDATA[A support class for {@link Module}s which reduces repetition and results in 143*dc5640d1SHerbert Xue a more readable configuration. Simply extend this class, implement {@link 144*dc5640d1SHerbert Xue #configure()}, and call the inherited methods which mirror those found in 145*dc5640d1SHerbert Xue {@link Binder}. For example: 146*dc5640d1SHerbert Xue 147*dc5640d1SHerbert Xue <pre> 148*dc5640d1SHerbert Xue import static com.google.inject.Names.named; 149*dc5640d1SHerbert Xue 150*dc5640d1SHerbert Xue public class MyModule extends AbstractModule { 151*dc5640d1SHerbert Xue protected void configure() { 152*dc5640d1SHerbert Xue bind(Foo.class).to(FooImpl.class).in(Scopes.SINGLETON); 153*dc5640d1SHerbert Xue bind(BarImpl.class); 154*dc5640d1SHerbert Xue link(Bar.class).to(BarImpl.class); 155*dc5640d1SHerbert Xue bindConstant(named("port")).to(8080); 156*dc5640d1SHerbert Xue } 157*dc5640d1SHerbert Xue } 158*dc5640d1SHerbert Xue </pre> 159*dc5640d1SHerbert Xue 160*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 161*dc5640d1SHerbert Xue </doc> 162*dc5640d1SHerbert Xue </class> 163*dc5640d1SHerbert Xue <!-- end class com.google.inject.AbstractModule --> 164*dc5640d1SHerbert Xue <!-- start interface com.google.inject.Binder --> 165*dc5640d1SHerbert Xue <interface name="Binder" abstract="true" 166*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 167*dc5640d1SHerbert Xue deprecated="not deprecated"> 168*dc5640d1SHerbert Xue <method name="bindInterceptor" 169*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 170*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 171*dc5640d1SHerbert Xue deprecated="not deprecated"> 172*dc5640d1SHerbert Xue <param name="classMatcher" type="com.google.inject.matcher.Matcher<? super java.lang.Class<?>>"/> 173*dc5640d1SHerbert Xue <param name="methodMatcher" type="com.google.inject.matcher.Matcher<? super java.lang.reflect.Method>"/> 174*dc5640d1SHerbert Xue <param name="interceptors" type="MethodInterceptor[]"/> 175*dc5640d1SHerbert Xue <doc> 176*dc5640d1SHerbert Xue <![CDATA[Binds a method interceptor to methods matched by class and method 177*dc5640d1SHerbert Xue matchers. 178*dc5640d1SHerbert Xue 179*dc5640d1SHerbert Xue @param classMatcher matches classes the interceptor should apply to. For 180*dc5640d1SHerbert Xue example: {@code only(Runnable.class)}. 181*dc5640d1SHerbert Xue @param methodMatcher matches methods the interceptor should apply to. For 182*dc5640d1SHerbert Xue example: {@code annotatedWith(Transactional.class)}. 183*dc5640d1SHerbert Xue @param interceptors to bind]]> 184*dc5640d1SHerbert Xue </doc> 185*dc5640d1SHerbert Xue </method> 186*dc5640d1SHerbert Xue <method name="bindScope" 187*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 188*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 189*dc5640d1SHerbert Xue deprecated="not deprecated"> 190*dc5640d1SHerbert Xue <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 191*dc5640d1SHerbert Xue <param name="scope" type="com.google.inject.Scope"/> 192*dc5640d1SHerbert Xue <doc> 193*dc5640d1SHerbert Xue <![CDATA[Binds a scope to an annotation.]]> 194*dc5640d1SHerbert Xue </doc> 195*dc5640d1SHerbert Xue </method> 196*dc5640d1SHerbert Xue <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder<T>" 197*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 198*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 199*dc5640d1SHerbert Xue deprecated="not deprecated"> 200*dc5640d1SHerbert Xue <param name="key" type="com.google.inject.Key<T>"/> 201*dc5640d1SHerbert Xue <doc> 202*dc5640d1SHerbert Xue <![CDATA[Creates a binding to a key.]]> 203*dc5640d1SHerbert Xue </doc> 204*dc5640d1SHerbert Xue </method> 205*dc5640d1SHerbert Xue <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder<T>" 206*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 207*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 208*dc5640d1SHerbert Xue deprecated="not deprecated"> 209*dc5640d1SHerbert Xue <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> 210*dc5640d1SHerbert Xue <doc> 211*dc5640d1SHerbert Xue <![CDATA[Creates a binding to a type.]]> 212*dc5640d1SHerbert Xue </doc> 213*dc5640d1SHerbert Xue </method> 214*dc5640d1SHerbert Xue <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder<T>" 215*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 216*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 217*dc5640d1SHerbert Xue deprecated="not deprecated"> 218*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 219*dc5640d1SHerbert Xue <doc> 220*dc5640d1SHerbert Xue <![CDATA[Creates a binding to a type.]]> 221*dc5640d1SHerbert Xue </doc> 222*dc5640d1SHerbert Xue </method> 223*dc5640d1SHerbert Xue <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder" 224*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 225*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 226*dc5640d1SHerbert Xue deprecated="not deprecated"> 227*dc5640d1SHerbert Xue <doc> 228*dc5640d1SHerbert Xue <![CDATA[Binds a constant value to an annotation.]]> 229*dc5640d1SHerbert Xue </doc> 230*dc5640d1SHerbert Xue </method> 231*dc5640d1SHerbert Xue <method name="requestStaticInjection" 232*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 233*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 234*dc5640d1SHerbert Xue deprecated="not deprecated"> 235*dc5640d1SHerbert Xue <param name="types" type="java.lang.Class[]"/> 236*dc5640d1SHerbert Xue <doc> 237*dc5640d1SHerbert Xue <![CDATA[Upon successful creation, the {@link Injector} will inject static fields 238*dc5640d1SHerbert Xue and methods in the given classes. 239*dc5640d1SHerbert Xue 240*dc5640d1SHerbert Xue @param types for which static members will be injected]]> 241*dc5640d1SHerbert Xue </doc> 242*dc5640d1SHerbert Xue </method> 243*dc5640d1SHerbert Xue <method name="install" 244*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 245*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 246*dc5640d1SHerbert Xue deprecated="not deprecated"> 247*dc5640d1SHerbert Xue <param name="module" type="com.google.inject.Module"/> 248*dc5640d1SHerbert Xue <doc> 249*dc5640d1SHerbert Xue <![CDATA[Uses the given module to configure more bindings.]]> 250*dc5640d1SHerbert Xue </doc> 251*dc5640d1SHerbert Xue </method> 252*dc5640d1SHerbert Xue <method name="currentStage" return="com.google.inject.Stage" 253*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 254*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 255*dc5640d1SHerbert Xue deprecated="not deprecated"> 256*dc5640d1SHerbert Xue <doc> 257*dc5640d1SHerbert Xue <![CDATA[Gets the current stage.]]> 258*dc5640d1SHerbert Xue </doc> 259*dc5640d1SHerbert Xue </method> 260*dc5640d1SHerbert Xue <method name="addError" 261*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 262*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 263*dc5640d1SHerbert Xue deprecated="not deprecated"> 264*dc5640d1SHerbert Xue <param name="message" type="java.lang.String"/> 265*dc5640d1SHerbert Xue <param name="arguments" type="java.lang.Object[]"/> 266*dc5640d1SHerbert Xue <doc> 267*dc5640d1SHerbert Xue <![CDATA[Records an error message which will be presented to the user at a later 268*dc5640d1SHerbert Xue time. Unlike throwing an exception, this enable us to continue 269*dc5640d1SHerbert Xue configuring the Injector and discover more errors. Uses {@link 270*dc5640d1SHerbert Xue String#format(String, Object[])} to insert the arguments into the 271*dc5640d1SHerbert Xue message.]]> 272*dc5640d1SHerbert Xue </doc> 273*dc5640d1SHerbert Xue </method> 274*dc5640d1SHerbert Xue <method name="addError" 275*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 276*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 277*dc5640d1SHerbert Xue deprecated="not deprecated"> 278*dc5640d1SHerbert Xue <param name="t" type="java.lang.Throwable"/> 279*dc5640d1SHerbert Xue <doc> 280*dc5640d1SHerbert Xue <![CDATA[Records an exception, the full details of which will be logged, and the 281*dc5640d1SHerbert Xue message of which will be presented to the user at a later 282*dc5640d1SHerbert Xue time. If your Module calls something that you worry may fail, you should 283*dc5640d1SHerbert Xue catch the exception and pass it into this.]]> 284*dc5640d1SHerbert Xue </doc> 285*dc5640d1SHerbert Xue </method> 286*dc5640d1SHerbert Xue <doc> 287*dc5640d1SHerbert Xue <![CDATA[Collects configuration information (primarily <i>bindings</i>) which will be 288*dc5640d1SHerbert Xue used to create an {@link Injector}. Guice provides this object to your 289*dc5640d1SHerbert Xue application's {@link Module}s so they may each contribute 290*dc5640d1SHerbert Xue their own bindings. 291*dc5640d1SHerbert Xue 292*dc5640d1SHerbert Xue <p>The bindings contributed by {@code Module}s define how the {@code 293*dc5640d1SHerbert Xue Injector} resolves dependencies. A {@link Key} consisting of a type 294*dc5640d1SHerbert Xue and optional annotation uniquely identifies a binding within an {@code 295*dc5640d1SHerbert Xue Injector}. 296*dc5640d1SHerbert Xue 297*dc5640d1SHerbert Xue <p>You may bind from a key to: 298*dc5640d1SHerbert Xue 299*dc5640d1SHerbert Xue <ul> 300*dc5640d1SHerbert Xue <li>Another binding, which this binding's key is now "aliased to" 301*dc5640d1SHerbert Xue <li>Another binding, which references a {@link Provider} for this key 302*dc5640d1SHerbert Xue <li>A preconstructed instance 303*dc5640d1SHerbert Xue <li>A preconstructed instance which should be used as the {@link Provider} 304*dc5640d1SHerbert Xue for this binding 305*dc5640d1SHerbert Xue </ul> 306*dc5640d1SHerbert Xue 307*dc5640d1SHerbert Xue <p>In addition, a binding may have an associated scope, such as 308*dc5640d1SHerbert Xue {@link Scopes#SINGLETON}, and singleton bindings may specify eager or lazy 309*dc5640d1SHerbert Xue initialization. 310*dc5640d1SHerbert Xue 311*dc5640d1SHerbert Xue <p>See the users' guide appendix, "How the Injector resolves injection 312*dc5640d1SHerbert Xue requests," to better understand binding resolution. 313*dc5640d1SHerbert Xue 314*dc5640d1SHerbert Xue <p>After an {@code Injector} has been created, its bindings may be 315*dc5640d1SHerbert Xue examined using methods like {@link Injector#getBinding(Key)}, but this 316*dc5640d1SHerbert Xue read-only {@link Binding} type is not used when <i>creating</i> the 317*dc5640d1SHerbert Xue bindings.]]> 318*dc5640d1SHerbert Xue </doc> 319*dc5640d1SHerbert Xue </interface> 320*dc5640d1SHerbert Xue <!-- end interface com.google.inject.Binder --> 321*dc5640d1SHerbert Xue <!-- start interface com.google.inject.Binding --> 322*dc5640d1SHerbert Xue <interface name="Binding" abstract="true" 323*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 324*dc5640d1SHerbert Xue deprecated="not deprecated"> 325*dc5640d1SHerbert Xue <method name="getKey" return="com.google.inject.Key<T>" 326*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 327*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 328*dc5640d1SHerbert Xue deprecated="not deprecated"> 329*dc5640d1SHerbert Xue <doc> 330*dc5640d1SHerbert Xue <![CDATA[Returns the key for this binding.]]> 331*dc5640d1SHerbert Xue </doc> 332*dc5640d1SHerbert Xue </method> 333*dc5640d1SHerbert Xue <method name="getSource" return="java.lang.Object" 334*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 335*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 336*dc5640d1SHerbert Xue deprecated="not deprecated"> 337*dc5640d1SHerbert Xue <doc> 338*dc5640d1SHerbert Xue <![CDATA[Returns an arbitrary object containing information about the "place" 339*dc5640d1SHerbert Xue where this binding was configured. Used by Guice in the production of 340*dc5640d1SHerbert Xue descriptive error messages.]]> 341*dc5640d1SHerbert Xue </doc> 342*dc5640d1SHerbert Xue </method> 343*dc5640d1SHerbert Xue <method name="getProvider" return="com.google.inject.Provider<T>" 344*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 345*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 346*dc5640d1SHerbert Xue deprecated="not deprecated"> 347*dc5640d1SHerbert Xue <doc> 348*dc5640d1SHerbert Xue <![CDATA[Returns the provider guice uses to fulfill requests for this binding.]]> 349*dc5640d1SHerbert Xue </doc> 350*dc5640d1SHerbert Xue </method> 351*dc5640d1SHerbert Xue <doc> 352*dc5640d1SHerbert Xue <![CDATA[A mapping from a key (type and optional annotation) to a provider of 353*dc5640d1SHerbert Xue instances of that type. This interface is part of the {@link Injector} 354*dc5640d1SHerbert Xue introspection API and is intended primary for use by tools. 355*dc5640d1SHerbert Xue 356*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 357*dc5640d1SHerbert Xue </doc> 358*dc5640d1SHerbert Xue </interface> 359*dc5640d1SHerbert Xue <!-- end interface com.google.inject.Binding --> 360*dc5640d1SHerbert Xue <!-- start class com.google.inject.BindingAnnotation --> 361*dc5640d1SHerbert Xue <class name="BindingAnnotation" abstract="true" 362*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 363*dc5640d1SHerbert Xue deprecated="not deprecated"> 364*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 365*dc5640d1SHerbert Xue <doc> 366*dc5640d1SHerbert Xue <![CDATA[Annotates annotations which are used for binding. Only one such annotation 367*dc5640d1SHerbert Xue may apply to a single injection point. You must also annotate binder 368*dc5640d1SHerbert Xue annotations with {@code @Retention(RUNTIME)}. For example: 369*dc5640d1SHerbert Xue 370*dc5640d1SHerbert Xue <pre> 371*dc5640d1SHerbert Xue {@code @}Retention(RUNTIME) 372*dc5640d1SHerbert Xue {@code @}Target({ FIELD, PARAMETER }) 373*dc5640d1SHerbert Xue {@code @}BindingAnnotation 374*dc5640d1SHerbert Xue public {@code @}interface Transactional {} 375*dc5640d1SHerbert Xue </pre> 376*dc5640d1SHerbert Xue 377*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 378*dc5640d1SHerbert Xue </doc> 379*dc5640d1SHerbert Xue </class> 380*dc5640d1SHerbert Xue <!-- end class com.google.inject.BindingAnnotation --> 381*dc5640d1SHerbert Xue <!-- start class com.google.inject.CreationException --> 382*dc5640d1SHerbert Xue <class name="CreationException" extends="java.lang.RuntimeException" 383*dc5640d1SHerbert Xue abstract="false" 384*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 385*dc5640d1SHerbert Xue deprecated="not deprecated"> 386*dc5640d1SHerbert Xue <constructor name="CreationException" type="java.util.Collection<com.google.inject.spi.Message>" 387*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 388*dc5640d1SHerbert Xue deprecated="not deprecated"> 389*dc5640d1SHerbert Xue <doc> 390*dc5640d1SHerbert Xue <![CDATA[Constructs a new exception for the given errors.]]> 391*dc5640d1SHerbert Xue </doc> 392*dc5640d1SHerbert Xue </constructor> 393*dc5640d1SHerbert Xue <method name="getMessage" return="java.lang.String" 394*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 395*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 396*dc5640d1SHerbert Xue deprecated="not deprecated"> 397*dc5640d1SHerbert Xue </method> 398*dc5640d1SHerbert Xue <method name="getErrorMessages" return="java.util.Collection<com.google.inject.spi.Message>" 399*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 400*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 401*dc5640d1SHerbert Xue deprecated="not deprecated"> 402*dc5640d1SHerbert Xue <doc> 403*dc5640d1SHerbert Xue <![CDATA[Gets the error messages which resulted in this exception.]]> 404*dc5640d1SHerbert Xue </doc> 405*dc5640d1SHerbert Xue </method> 406*dc5640d1SHerbert Xue <doc> 407*dc5640d1SHerbert Xue <![CDATA[Thrown when errors occur while creating a {@link Injector}. Includes a list 408*dc5640d1SHerbert Xue of encountered errors. Typically, a client should catch this exception, log 409*dc5640d1SHerbert Xue it, and stop execution. 410*dc5640d1SHerbert Xue 411*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 412*dc5640d1SHerbert Xue </doc> 413*dc5640d1SHerbert Xue </class> 414*dc5640d1SHerbert Xue <!-- end class com.google.inject.CreationException --> 415*dc5640d1SHerbert Xue <!-- start class com.google.inject.Guice --> 416*dc5640d1SHerbert Xue <class name="Guice" extends="java.lang.Object" 417*dc5640d1SHerbert Xue abstract="false" 418*dc5640d1SHerbert Xue static="false" final="true" visibility="public" 419*dc5640d1SHerbert Xue deprecated="not deprecated"> 420*dc5640d1SHerbert Xue <method name="createInjector" return="com.google.inject.Injector" 421*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 422*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 423*dc5640d1SHerbert Xue deprecated="not deprecated"> 424*dc5640d1SHerbert Xue <param name="modules" type="com.google.inject.Module[]"/> 425*dc5640d1SHerbert Xue <doc> 426*dc5640d1SHerbert Xue <![CDATA[Creates an injector for the given set of modules. 427*dc5640d1SHerbert Xue 428*dc5640d1SHerbert Xue @throws CreationException from which you can retrieve the individual error 429*dc5640d1SHerbert Xue messages]]> 430*dc5640d1SHerbert Xue </doc> 431*dc5640d1SHerbert Xue </method> 432*dc5640d1SHerbert Xue <method name="createInjector" return="com.google.inject.Injector" 433*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 434*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 435*dc5640d1SHerbert Xue deprecated="not deprecated"> 436*dc5640d1SHerbert Xue <param name="modules" type="java.lang.Iterable<com.google.inject.Module>"/> 437*dc5640d1SHerbert Xue <doc> 438*dc5640d1SHerbert Xue <![CDATA[Creates an injector for the given set of modules. 439*dc5640d1SHerbert Xue 440*dc5640d1SHerbert Xue @throws CreationException from which you can retrieve the individual error 441*dc5640d1SHerbert Xue messages]]> 442*dc5640d1SHerbert Xue </doc> 443*dc5640d1SHerbert Xue </method> 444*dc5640d1SHerbert Xue <method name="createInjector" return="com.google.inject.Injector" 445*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 446*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 447*dc5640d1SHerbert Xue deprecated="not deprecated"> 448*dc5640d1SHerbert Xue <param name="stage" type="com.google.inject.Stage"/> 449*dc5640d1SHerbert Xue <param name="modules" type="com.google.inject.Module[]"/> 450*dc5640d1SHerbert Xue <doc> 451*dc5640d1SHerbert Xue <![CDATA[Creates an injector for the given set of modules, in a given development 452*dc5640d1SHerbert Xue stage. 453*dc5640d1SHerbert Xue 454*dc5640d1SHerbert Xue @throws CreationException from which you can retrieve the individual error 455*dc5640d1SHerbert Xue messages.]]> 456*dc5640d1SHerbert Xue </doc> 457*dc5640d1SHerbert Xue </method> 458*dc5640d1SHerbert Xue <method name="createInjector" return="com.google.inject.Injector" 459*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 460*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 461*dc5640d1SHerbert Xue deprecated="not deprecated"> 462*dc5640d1SHerbert Xue <param name="stage" type="com.google.inject.Stage"/> 463*dc5640d1SHerbert Xue <param name="modules" type="java.lang.Iterable<com.google.inject.Module>"/> 464*dc5640d1SHerbert Xue <doc> 465*dc5640d1SHerbert Xue <![CDATA[Creates an injector for the given set of modules, in a given development 466*dc5640d1SHerbert Xue stage. 467*dc5640d1SHerbert Xue 468*dc5640d1SHerbert Xue @throws CreationException from which you can retrieve the individual error 469*dc5640d1SHerbert Xue messages.]]> 470*dc5640d1SHerbert Xue </doc> 471*dc5640d1SHerbert Xue </method> 472*dc5640d1SHerbert Xue <doc> 473*dc5640d1SHerbert Xue <![CDATA[The entry point to the Guice framework. Creates {@link Injector}s from 474*dc5640d1SHerbert Xue {@link Module}s.]]> 475*dc5640d1SHerbert Xue </doc> 476*dc5640d1SHerbert Xue </class> 477*dc5640d1SHerbert Xue <!-- end class com.google.inject.Guice --> 478*dc5640d1SHerbert Xue <!-- start class com.google.inject.ImplementedBy --> 479*dc5640d1SHerbert Xue <class name="ImplementedBy" abstract="true" 480*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 481*dc5640d1SHerbert Xue deprecated="not deprecated"> 482*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 483*dc5640d1SHerbert Xue <doc> 484*dc5640d1SHerbert Xue <![CDATA[A pointer to the default implementation of a type. 485*dc5640d1SHerbert Xue 486*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 487*dc5640d1SHerbert Xue </doc> 488*dc5640d1SHerbert Xue </class> 489*dc5640d1SHerbert Xue <!-- end class com.google.inject.ImplementedBy --> 490*dc5640d1SHerbert Xue <!-- start class com.google.inject.Inject --> 491*dc5640d1SHerbert Xue <class name="Inject" abstract="true" 492*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 493*dc5640d1SHerbert Xue deprecated="not deprecated"> 494*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 495*dc5640d1SHerbert Xue <doc> 496*dc5640d1SHerbert Xue <![CDATA[Annotates members of your implementation class (constructors, methods 497*dc5640d1SHerbert Xue and fields) into which the {@link Injector} should inject values. 498*dc5640d1SHerbert Xue The Injector fulfills injection requests for: 499*dc5640d1SHerbert Xue 500*dc5640d1SHerbert Xue <ul> 501*dc5640d1SHerbert Xue <li>Every instance it constructs. The class being constructed must have 502*dc5640d1SHerbert Xue exactly one of its constructors marked with {@code @Inject} or must have a 503*dc5640d1SHerbert Xue constructor taking no parameters. The Injector then proceeds to perform 504*dc5640d1SHerbert Xue method and field injections. 505*dc5640d1SHerbert Xue 506*dc5640d1SHerbert Xue <li>Pre-constructed instances passed to {@link Injector#injectMembers}, 507*dc5640d1SHerbert Xue {@link com.google.inject.binder.LinkedBindingBuilder#toInstance(Object)} and 508*dc5640d1SHerbert Xue {@link com.google.inject.binder.LinkedBindingBuilder#toProvider(Provider)}. 509*dc5640d1SHerbert Xue In this case all constructors are, of course, ignored. 510*dc5640d1SHerbert Xue 511*dc5640d1SHerbert Xue <li>Static fields and methods of classes which any {@link Module} has 512*dc5640d1SHerbert Xue specifically requested static injection for, using 513*dc5640d1SHerbert Xue {@link Binder#requestStaticInjection}. 514*dc5640d1SHerbert Xue </ul> 515*dc5640d1SHerbert Xue 516*dc5640d1SHerbert Xue In all cases, a member can be injected regardless of its Java access 517*dc5640d1SHerbert Xue specifier (private, default, protected, public). 518*dc5640d1SHerbert Xue 519*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 520*dc5640d1SHerbert Xue </doc> 521*dc5640d1SHerbert Xue </class> 522*dc5640d1SHerbert Xue <!-- end class com.google.inject.Inject --> 523*dc5640d1SHerbert Xue <!-- start interface com.google.inject.Injector --> 524*dc5640d1SHerbert Xue <interface name="Injector" abstract="true" 525*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 526*dc5640d1SHerbert Xue deprecated="not deprecated"> 527*dc5640d1SHerbert Xue <method name="injectMembers" 528*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 529*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 530*dc5640d1SHerbert Xue deprecated="not deprecated"> 531*dc5640d1SHerbert Xue <param name="o" type="java.lang.Object"/> 532*dc5640d1SHerbert Xue <doc> 533*dc5640d1SHerbert Xue <![CDATA[Injects dependencies into the fields and methods of an existing object. 534*dc5640d1SHerbert Xue Does not inject the constructor.]]> 535*dc5640d1SHerbert Xue </doc> 536*dc5640d1SHerbert Xue </method> 537*dc5640d1SHerbert Xue <method name="getBindings" return="java.util.Map<com.google.inject.Key<?>, com.google.inject.Binding<?>>" 538*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 539*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 540*dc5640d1SHerbert Xue deprecated="not deprecated"> 541*dc5640d1SHerbert Xue <doc> 542*dc5640d1SHerbert Xue <![CDATA[Gets all explicit bindings.]]> 543*dc5640d1SHerbert Xue </doc> 544*dc5640d1SHerbert Xue </method> 545*dc5640d1SHerbert Xue <method name="getBinding" return="com.google.inject.Binding<T>" 546*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 547*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 548*dc5640d1SHerbert Xue deprecated="not deprecated"> 549*dc5640d1SHerbert Xue <param name="key" type="com.google.inject.Key<T>"/> 550*dc5640d1SHerbert Xue <doc> 551*dc5640d1SHerbert Xue <![CDATA[Gets a binding for the given key.]]> 552*dc5640d1SHerbert Xue </doc> 553*dc5640d1SHerbert Xue </method> 554*dc5640d1SHerbert Xue <method name="findBindingsByType" return="java.util.List<com.google.inject.Binding<T>>" 555*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 556*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 557*dc5640d1SHerbert Xue deprecated="not deprecated"> 558*dc5640d1SHerbert Xue <param name="type" type="com.google.inject.TypeLiteral<T>"/> 559*dc5640d1SHerbert Xue <doc> 560*dc5640d1SHerbert Xue <![CDATA[Finds all bindings to the given type.]]> 561*dc5640d1SHerbert Xue </doc> 562*dc5640d1SHerbert Xue </method> 563*dc5640d1SHerbert Xue <method name="getProvider" return="com.google.inject.Provider<T>" 564*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 565*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 566*dc5640d1SHerbert Xue deprecated="not deprecated"> 567*dc5640d1SHerbert Xue <param name="key" type="com.google.inject.Key<T>"/> 568*dc5640d1SHerbert Xue <doc> 569*dc5640d1SHerbert Xue <![CDATA[Gets the provider bound to the given key.]]> 570*dc5640d1SHerbert Xue </doc> 571*dc5640d1SHerbert Xue </method> 572*dc5640d1SHerbert Xue <method name="getProvider" return="com.google.inject.Provider<T>" 573*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 574*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 575*dc5640d1SHerbert Xue deprecated="not deprecated"> 576*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 577*dc5640d1SHerbert Xue <doc> 578*dc5640d1SHerbert Xue <![CDATA[Gets the provider bound to the given type.]]> 579*dc5640d1SHerbert Xue </doc> 580*dc5640d1SHerbert Xue </method> 581*dc5640d1SHerbert Xue <method name="getInstance" return="T" 582*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 583*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 584*dc5640d1SHerbert Xue deprecated="not deprecated"> 585*dc5640d1SHerbert Xue <param name="key" type="com.google.inject.Key<T>"/> 586*dc5640d1SHerbert Xue <doc> 587*dc5640d1SHerbert Xue <![CDATA[Gets an instance bound to the given key; equivalent to 588*dc5640d1SHerbert Xue {@code getProvider(key).get()}.]]> 589*dc5640d1SHerbert Xue </doc> 590*dc5640d1SHerbert Xue </method> 591*dc5640d1SHerbert Xue <method name="getInstance" return="T" 592*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 593*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 594*dc5640d1SHerbert Xue deprecated="not deprecated"> 595*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 596*dc5640d1SHerbert Xue <doc> 597*dc5640d1SHerbert Xue <![CDATA[Gets an instance bound to the given type; equivalent to 598*dc5640d1SHerbert Xue {@code getProvider(type).get()}.]]> 599*dc5640d1SHerbert Xue </doc> 600*dc5640d1SHerbert Xue </method> 601*dc5640d1SHerbert Xue <doc> 602*dc5640d1SHerbert Xue <![CDATA[Fulfills requests for the object instances that make up your application, 603*dc5640d1SHerbert Xue always ensuring that these instances are properly injected before they are 604*dc5640d1SHerbert Xue returned. The {@code Injector} is the heart of the Guice framework, 605*dc5640d1SHerbert Xue although you don't typically interact with it directly very often. This 606*dc5640d1SHerbert Xue "behind-the-scenes" operation is what distinguishes the dependency 607*dc5640d1SHerbert Xue injection pattern from its cousin, service locator. 608*dc5640d1SHerbert Xue 609*dc5640d1SHerbert Xue <p>The {@code Injector} API has a few additional features: it allows 610*dc5640d1SHerbert Xue pre-constructed instances to have their fields and methods injected and 611*dc5640d1SHerbert Xue offers programmatic introspection to support tool development. 612*dc5640d1SHerbert Xue 613*dc5640d1SHerbert Xue <p>Contains several default bindings: 614*dc5640d1SHerbert Xue 615*dc5640d1SHerbert Xue <ul> 616*dc5640d1SHerbert Xue <li>This {@link Injector} instance itself 617*dc5640d1SHerbert Xue <li>A {@code Provider<T>} for each binding of type {@code T} 618*dc5640d1SHerbert Xue <li>The {@link java.util.logging.Logger} for the class being injected 619*dc5640d1SHerbert Xue <li>The {@link Stage} in which the Injector was created 620*dc5640d1SHerbert Xue </ul> 621*dc5640d1SHerbert Xue 622*dc5640d1SHerbert Xue Injectors are created using the facade class {@link Guice}. 623*dc5640d1SHerbert Xue 624*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 625*dc5640d1SHerbert Xue </doc> 626*dc5640d1SHerbert Xue </interface> 627*dc5640d1SHerbert Xue <!-- end interface com.google.inject.Injector --> 628*dc5640d1SHerbert Xue <!-- start class com.google.inject.Key --> 629*dc5640d1SHerbert Xue <class name="Key" extends="java.lang.Object" 630*dc5640d1SHerbert Xue abstract="true" 631*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 632*dc5640d1SHerbert Xue deprecated="not deprecated"> 633*dc5640d1SHerbert Xue <constructor name="Key" type="java.lang.Class<? extends java.lang.annotation.Annotation>" 634*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 635*dc5640d1SHerbert Xue deprecated="not deprecated"> 636*dc5640d1SHerbert Xue <doc> 637*dc5640d1SHerbert Xue <![CDATA[Constructs a new key. Derives the type from this class's type parameter. 638*dc5640d1SHerbert Xue 639*dc5640d1SHerbert Xue <p>Clients create an empty anonymous subclass. Doing so embeds the type 640*dc5640d1SHerbert Xue parameter in the anonymous class's type hierarchy so we can reconstitute it 641*dc5640d1SHerbert Xue at runtime despite erasure. 642*dc5640d1SHerbert Xue 643*dc5640d1SHerbert Xue <p>Example usage for a binding of type {@code Foo} annotated with 644*dc5640d1SHerbert Xue {@code @Bar}: 645*dc5640d1SHerbert Xue 646*dc5640d1SHerbert Xue <p>{@code new Key<Foo>(Bar.class) {}}.]]> 647*dc5640d1SHerbert Xue </doc> 648*dc5640d1SHerbert Xue </constructor> 649*dc5640d1SHerbert Xue <constructor name="Key" type="java.lang.annotation.Annotation" 650*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 651*dc5640d1SHerbert Xue deprecated="not deprecated"> 652*dc5640d1SHerbert Xue <doc> 653*dc5640d1SHerbert Xue <![CDATA[Constructs a new key. Derives the type from this class's type parameter. 654*dc5640d1SHerbert Xue 655*dc5640d1SHerbert Xue <p>Clients create an empty anonymous subclass. Doing so embeds the type 656*dc5640d1SHerbert Xue parameter in the anonymous class's type hierarchy so we can reconstitute it 657*dc5640d1SHerbert Xue at runtime despite erasure. 658*dc5640d1SHerbert Xue 659*dc5640d1SHerbert Xue <p>Example usage for a binding of type {@code Foo} annotated with 660*dc5640d1SHerbert Xue {@code @Bar}: 661*dc5640d1SHerbert Xue 662*dc5640d1SHerbert Xue <p>{@code new Key<Foo>(new Bar()) {}}.]]> 663*dc5640d1SHerbert Xue </doc> 664*dc5640d1SHerbert Xue </constructor> 665*dc5640d1SHerbert Xue <constructor name="Key" 666*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 667*dc5640d1SHerbert Xue deprecated="not deprecated"> 668*dc5640d1SHerbert Xue <doc> 669*dc5640d1SHerbert Xue <![CDATA[Constructs a new key. Derives the type from this class's type parameter. 670*dc5640d1SHerbert Xue 671*dc5640d1SHerbert Xue <p>Clients create an empty anonymous subclass. Doing so embeds the type 672*dc5640d1SHerbert Xue parameter in the anonymous class's type hierarchy so we can reconstitute it 673*dc5640d1SHerbert Xue at runtime despite erasure. 674*dc5640d1SHerbert Xue 675*dc5640d1SHerbert Xue <p>Example usage for a binding of type {@code Foo}: 676*dc5640d1SHerbert Xue 677*dc5640d1SHerbert Xue <p>{@code new Key<Foo>() {}}.]]> 678*dc5640d1SHerbert Xue </doc> 679*dc5640d1SHerbert Xue </constructor> 680*dc5640d1SHerbert Xue <method name="getTypeLiteral" return="com.google.inject.TypeLiteral<T>" 681*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 682*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 683*dc5640d1SHerbert Xue deprecated="not deprecated"> 684*dc5640d1SHerbert Xue <doc> 685*dc5640d1SHerbert Xue <![CDATA[Gets the key type.]]> 686*dc5640d1SHerbert Xue </doc> 687*dc5640d1SHerbert Xue </method> 688*dc5640d1SHerbert Xue <method name="getAnnotationType" return="java.lang.Class<? extends java.lang.annotation.Annotation>" 689*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 690*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 691*dc5640d1SHerbert Xue deprecated="not deprecated"> 692*dc5640d1SHerbert Xue <doc> 693*dc5640d1SHerbert Xue <![CDATA[Gets the annotation type.]]> 694*dc5640d1SHerbert Xue </doc> 695*dc5640d1SHerbert Xue </method> 696*dc5640d1SHerbert Xue <method name="getAnnotation" return="java.lang.annotation.Annotation" 697*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 698*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 699*dc5640d1SHerbert Xue deprecated="not deprecated"> 700*dc5640d1SHerbert Xue <doc> 701*dc5640d1SHerbert Xue <![CDATA[Gets the annotation.]]> 702*dc5640d1SHerbert Xue </doc> 703*dc5640d1SHerbert Xue </method> 704*dc5640d1SHerbert Xue <method name="hashCode" return="int" 705*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 706*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 707*dc5640d1SHerbert Xue deprecated="not deprecated"> 708*dc5640d1SHerbert Xue </method> 709*dc5640d1SHerbert Xue <method name="equals" return="boolean" 710*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 711*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 712*dc5640d1SHerbert Xue deprecated="not deprecated"> 713*dc5640d1SHerbert Xue <param name="o" type="java.lang.Object"/> 714*dc5640d1SHerbert Xue </method> 715*dc5640d1SHerbert Xue <method name="toString" return="java.lang.String" 716*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 717*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 718*dc5640d1SHerbert Xue deprecated="not deprecated"> 719*dc5640d1SHerbert Xue </method> 720*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<T>" 721*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 722*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 723*dc5640d1SHerbert Xue deprecated="not deprecated"> 724*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 725*dc5640d1SHerbert Xue <doc> 726*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type.]]> 727*dc5640d1SHerbert Xue </doc> 728*dc5640d1SHerbert Xue </method> 729*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<T>" 730*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 731*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 732*dc5640d1SHerbert Xue deprecated="not deprecated"> 733*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 734*dc5640d1SHerbert Xue <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 735*dc5640d1SHerbert Xue <doc> 736*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type and an annotation type.]]> 737*dc5640d1SHerbert Xue </doc> 738*dc5640d1SHerbert Xue </method> 739*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<T>" 740*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 741*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 742*dc5640d1SHerbert Xue deprecated="not deprecated"> 743*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 744*dc5640d1SHerbert Xue <param name="annotation" type="java.lang.annotation.Annotation"/> 745*dc5640d1SHerbert Xue <doc> 746*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type and an annotation.]]> 747*dc5640d1SHerbert Xue </doc> 748*dc5640d1SHerbert Xue </method> 749*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<?>" 750*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 751*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 752*dc5640d1SHerbert Xue deprecated="not deprecated"> 753*dc5640d1SHerbert Xue <param name="type" type="java.lang.reflect.Type"/> 754*dc5640d1SHerbert Xue <doc> 755*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type.]]> 756*dc5640d1SHerbert Xue </doc> 757*dc5640d1SHerbert Xue </method> 758*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<?>" 759*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 760*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 761*dc5640d1SHerbert Xue deprecated="not deprecated"> 762*dc5640d1SHerbert Xue <param name="type" type="java.lang.reflect.Type"/> 763*dc5640d1SHerbert Xue <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 764*dc5640d1SHerbert Xue <doc> 765*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type and an annotation type.]]> 766*dc5640d1SHerbert Xue </doc> 767*dc5640d1SHerbert Xue </method> 768*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<?>" 769*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 770*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 771*dc5640d1SHerbert Xue deprecated="not deprecated"> 772*dc5640d1SHerbert Xue <param name="type" type="java.lang.reflect.Type"/> 773*dc5640d1SHerbert Xue <param name="annotation" type="java.lang.annotation.Annotation"/> 774*dc5640d1SHerbert Xue <doc> 775*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type and an annotation.]]> 776*dc5640d1SHerbert Xue </doc> 777*dc5640d1SHerbert Xue </method> 778*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<T>" 779*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 780*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 781*dc5640d1SHerbert Xue deprecated="not deprecated"> 782*dc5640d1SHerbert Xue <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> 783*dc5640d1SHerbert Xue <doc> 784*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type.]]> 785*dc5640d1SHerbert Xue </doc> 786*dc5640d1SHerbert Xue </method> 787*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<T>" 788*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 789*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 790*dc5640d1SHerbert Xue deprecated="not deprecated"> 791*dc5640d1SHerbert Xue <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> 792*dc5640d1SHerbert Xue <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 793*dc5640d1SHerbert Xue <doc> 794*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type and an annotation type.]]> 795*dc5640d1SHerbert Xue </doc> 796*dc5640d1SHerbert Xue </method> 797*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.Key<T>" 798*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 799*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 800*dc5640d1SHerbert Xue deprecated="not deprecated"> 801*dc5640d1SHerbert Xue <param name="typeLiteral" type="com.google.inject.TypeLiteral<T>"/> 802*dc5640d1SHerbert Xue <param name="annotation" type="java.lang.annotation.Annotation"/> 803*dc5640d1SHerbert Xue <doc> 804*dc5640d1SHerbert Xue <![CDATA[Gets a key for an injection type and an annotation.]]> 805*dc5640d1SHerbert Xue </doc> 806*dc5640d1SHerbert Xue </method> 807*dc5640d1SHerbert Xue <doc> 808*dc5640d1SHerbert Xue <![CDATA[Binding key consisting of an injection type and an optional annotation. 809*dc5640d1SHerbert Xue Matches the type and annotation at a point of injection. 810*dc5640d1SHerbert Xue 811*dc5640d1SHerbert Xue <p>For example, {@code Key.get(Service.class, Transactional.class)} will 812*dc5640d1SHerbert Xue match: 813*dc5640d1SHerbert Xue 814*dc5640d1SHerbert Xue <pre> 815*dc5640d1SHerbert Xue {@literal @}Inject 816*dc5640d1SHerbert Xue public void setService({@literal @}Transactional Service service) { 817*dc5640d1SHerbert Xue ... 818*dc5640d1SHerbert Xue } 819*dc5640d1SHerbert Xue </pre> 820*dc5640d1SHerbert Xue 821*dc5640d1SHerbert Xue <p>{@code Key} supports generic types via subclassing just like {@link 822*dc5640d1SHerbert Xue TypeLiteral}. 823*dc5640d1SHerbert Xue 824*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 825*dc5640d1SHerbert Xue </doc> 826*dc5640d1SHerbert Xue </class> 827*dc5640d1SHerbert Xue <!-- end class com.google.inject.Key --> 828*dc5640d1SHerbert Xue <!-- start interface com.google.inject.Module --> 829*dc5640d1SHerbert Xue <interface name="Module" abstract="true" 830*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 831*dc5640d1SHerbert Xue deprecated="not deprecated"> 832*dc5640d1SHerbert Xue <method name="configure" 833*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 834*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 835*dc5640d1SHerbert Xue deprecated="not deprecated"> 836*dc5640d1SHerbert Xue <param name="binder" type="com.google.inject.Binder"/> 837*dc5640d1SHerbert Xue <doc> 838*dc5640d1SHerbert Xue <![CDATA[Contributes bindings and other configurations to a {@code Binder}.]]> 839*dc5640d1SHerbert Xue </doc> 840*dc5640d1SHerbert Xue </method> 841*dc5640d1SHerbert Xue <doc> 842*dc5640d1SHerbert Xue <![CDATA[A module contributes configuration information, typically interface 843*dc5640d1SHerbert Xue bindings, which will be used to create an {@link Injector}. A guice-based 844*dc5640d1SHerbert Xue application is ultimately composed of little more than a set of 845*dc5640d1SHerbert Xue {@code Module}s and some bootstrapping code. 846*dc5640d1SHerbert Xue 847*dc5640d1SHerbert Xue <p>Your Module classes can use a more streamlined syntax by extending 848*dc5640d1SHerbert Xue {@link AbstractModule} rather than implementing this interface directly.]]> 849*dc5640d1SHerbert Xue </doc> 850*dc5640d1SHerbert Xue </interface> 851*dc5640d1SHerbert Xue <!-- end interface com.google.inject.Module --> 852*dc5640d1SHerbert Xue <!-- start class com.google.inject.ProvidedBy --> 853*dc5640d1SHerbert Xue <class name="ProvidedBy" abstract="true" 854*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 855*dc5640d1SHerbert Xue deprecated="not deprecated"> 856*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 857*dc5640d1SHerbert Xue <doc> 858*dc5640d1SHerbert Xue <![CDATA[A pointer to the default provider type for a type. 859*dc5640d1SHerbert Xue 860*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 861*dc5640d1SHerbert Xue </doc> 862*dc5640d1SHerbert Xue </class> 863*dc5640d1SHerbert Xue <!-- end class com.google.inject.ProvidedBy --> 864*dc5640d1SHerbert Xue <!-- start interface com.google.inject.Provider --> 865*dc5640d1SHerbert Xue <interface name="Provider" abstract="true" 866*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 867*dc5640d1SHerbert Xue deprecated="not deprecated"> 868*dc5640d1SHerbert Xue <method name="get" return="T" 869*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 870*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 871*dc5640d1SHerbert Xue deprecated="not deprecated"> 872*dc5640d1SHerbert Xue <doc> 873*dc5640d1SHerbert Xue <![CDATA[Provides an instance of {@code T}. Must never return {@code null}.]]> 874*dc5640d1SHerbert Xue </doc> 875*dc5640d1SHerbert Xue </method> 876*dc5640d1SHerbert Xue <doc> 877*dc5640d1SHerbert Xue <![CDATA[Simply, any object capable of providing instances of type {@code T}. 878*dc5640d1SHerbert Xue Providers are used in numerous ways by the Guice framework: 879*dc5640d1SHerbert Xue 880*dc5640d1SHerbert Xue <ul> 881*dc5640d1SHerbert Xue <li>When the default means for obtaining instances (an injectable or 882*dc5640d1SHerbert Xue parameterless constructor) is insufficient for a particular binding, the 883*dc5640d1SHerbert Xue module can specify a custom {@code Provider} instead, to control exactly how 884*dc5640d1SHerbert Xue Guice creates or obtains instances for the binding. 885*dc5640d1SHerbert Xue 886*dc5640d1SHerbert Xue <li>An implementation class may always choose to have a {@code Provider<T>} 887*dc5640d1SHerbert Xue instance injected, rather than having a {@code T} injected directly. This 888*dc5640d1SHerbert Xue may give you access to multiple instances, instances you wish to safely 889*dc5640d1SHerbert Xue mutate and discard, instances which are out of scope (e.g. using a 890*dc5640d1SHerbert Xue {@code @RequestScoped} object from within a {@code @SessionScoped} object), 891*dc5640d1SHerbert Xue or instances you don't want to initialize until they are absolutely needed. 892*dc5640d1SHerbert Xue 893*dc5640d1SHerbert Xue <li>A custom {@link Scope} is implemented as a decorator of 894*dc5640d1SHerbert Xue {@code Provider<T>}, which decides when to delegate to the backing provider 895*dc5640d1SHerbert Xue and when to provide the instance some other way. 896*dc5640d1SHerbert Xue 897*dc5640d1SHerbert Xue <li>The {@link Injector} offers access to the {@code Provider<T>} it uses 898*dc5640d1SHerbert Xue to fulfill requests for a given key, via the {@link Injector#getProvider} 899*dc5640d1SHerbert Xue methods. 900*dc5640d1SHerbert Xue </ul> 901*dc5640d1SHerbert Xue 902*dc5640d1SHerbert Xue @param <T> the type of object this provider provides 903*dc5640d1SHerbert Xue 904*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 905*dc5640d1SHerbert Xue </doc> 906*dc5640d1SHerbert Xue </interface> 907*dc5640d1SHerbert Xue <!-- end interface com.google.inject.Provider --> 908*dc5640d1SHerbert Xue <!-- start interface com.google.inject.Scope --> 909*dc5640d1SHerbert Xue <interface name="Scope" abstract="true" 910*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 911*dc5640d1SHerbert Xue deprecated="not deprecated"> 912*dc5640d1SHerbert Xue <method name="scope" return="com.google.inject.Provider<T>" 913*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 914*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 915*dc5640d1SHerbert Xue deprecated="not deprecated"> 916*dc5640d1SHerbert Xue <param name="key" type="com.google.inject.Key<T>"/> 917*dc5640d1SHerbert Xue <param name="unscoped" type="com.google.inject.Provider<T>"/> 918*dc5640d1SHerbert Xue <doc> 919*dc5640d1SHerbert Xue <![CDATA[Scopes a provider. The returned locator returns objects from this scope. If 920*dc5640d1SHerbert Xue an object does not exist in this scope, the provider can use the given 921*dc5640d1SHerbert Xue unscoped provider to retrieve one. 922*dc5640d1SHerbert Xue 923*dc5640d1SHerbert Xue <p>Scope implementations are strongly encouraged to override 924*dc5640d1SHerbert Xue {@link Object#toString} in the returned provider and include the backing 925*dc5640d1SHerbert Xue provider's {@code toString()} output. 926*dc5640d1SHerbert Xue 927*dc5640d1SHerbert Xue @param key binding key 928*dc5640d1SHerbert Xue @param unscoped locates an instance when one doesn't already exist in this 929*dc5640d1SHerbert Xue scope. 930*dc5640d1SHerbert Xue @return a new provider which only delegates to the given unscoped provider 931*dc5640d1SHerbert Xue when an instance of the requested object doesn't already exist in this 932*dc5640d1SHerbert Xue scope]]> 933*dc5640d1SHerbert Xue </doc> 934*dc5640d1SHerbert Xue </method> 935*dc5640d1SHerbert Xue <method name="toString" return="java.lang.String" 936*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 937*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 938*dc5640d1SHerbert Xue deprecated="not deprecated"> 939*dc5640d1SHerbert Xue <doc> 940*dc5640d1SHerbert Xue <![CDATA[A short but useful description of this scope. For comparison, the standard 941*dc5640d1SHerbert Xue scopes that ship with guice use the descriptions 942*dc5640d1SHerbert Xue {@code "Scopes.SINGLETON"}, {@code "ServletScopes.SESSION"} and 943*dc5640d1SHerbert Xue {@code "ServletScopes.REQUEST"}.]]> 944*dc5640d1SHerbert Xue </doc> 945*dc5640d1SHerbert Xue </method> 946*dc5640d1SHerbert Xue <doc> 947*dc5640d1SHerbert Xue <![CDATA[A scope is a level of visibility that instances provided by Guice may have. 948*dc5640d1SHerbert Xue By default, an instance created by the {@link Injector} has <i>no 949*dc5640d1SHerbert Xue scope</i>, meaning it has no state from the framework's perspective -- the 950*dc5640d1SHerbert Xue {@code Injector} creates it, injects it once into the class that required it, 951*dc5640d1SHerbert Xue and then immediately forgets it. Associating a scope with a particular binding 952*dc5640d1SHerbert Xue allows the created instance to be "remembered" and possibly used again for 953*dc5640d1SHerbert Xue other injections. 954*dc5640d1SHerbert Xue 955*dc5640d1SHerbert Xue @see Scopes#SINGLETON 956*dc5640d1SHerbert Xue 957*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 958*dc5640d1SHerbert Xue </doc> 959*dc5640d1SHerbert Xue </interface> 960*dc5640d1SHerbert Xue <!-- end interface com.google.inject.Scope --> 961*dc5640d1SHerbert Xue <!-- start class com.google.inject.ScopeAnnotation --> 962*dc5640d1SHerbert Xue <class name="ScopeAnnotation" abstract="true" 963*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 964*dc5640d1SHerbert Xue deprecated="not deprecated"> 965*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 966*dc5640d1SHerbert Xue <doc> 967*dc5640d1SHerbert Xue <![CDATA[Annotates annotations which are used for scoping. Only one such annotation 968*dc5640d1SHerbert Xue may apply to a single implementation class. You must also annotate scope 969*dc5640d1SHerbert Xue annotations with {@code @Retention(RUNTIME)}. For example: 970*dc5640d1SHerbert Xue 971*dc5640d1SHerbert Xue <pre> 972*dc5640d1SHerbert Xue {@code @}Retention(RUNTIME) 973*dc5640d1SHerbert Xue {@code @}Target(TYPE) 974*dc5640d1SHerbert Xue {@code @}ScopeAnnotation 975*dc5640d1SHerbert Xue public {@code @}interface SessionScoped {} 976*dc5640d1SHerbert Xue </pre> 977*dc5640d1SHerbert Xue 978*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 979*dc5640d1SHerbert Xue </doc> 980*dc5640d1SHerbert Xue </class> 981*dc5640d1SHerbert Xue <!-- end class com.google.inject.ScopeAnnotation --> 982*dc5640d1SHerbert Xue <!-- start class com.google.inject.Scopes --> 983*dc5640d1SHerbert Xue <class name="Scopes" extends="java.lang.Object" 984*dc5640d1SHerbert Xue abstract="false" 985*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 986*dc5640d1SHerbert Xue deprecated="not deprecated"> 987*dc5640d1SHerbert Xue <field name="SINGLETON" type="com.google.inject.Scope" 988*dc5640d1SHerbert Xue transient="false" volatile="false" 989*dc5640d1SHerbert Xue static="true" final="true" visibility="public" 990*dc5640d1SHerbert Xue deprecated="not deprecated"> 991*dc5640d1SHerbert Xue <doc> 992*dc5640d1SHerbert Xue <![CDATA[One instance per {@link Injector}. Also see {@code @}{@link Singleton}.]]> 993*dc5640d1SHerbert Xue </doc> 994*dc5640d1SHerbert Xue </field> 995*dc5640d1SHerbert Xue <doc> 996*dc5640d1SHerbert Xue <![CDATA[Built in scope implementations. 997*dc5640d1SHerbert Xue 998*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 999*dc5640d1SHerbert Xue </doc> 1000*dc5640d1SHerbert Xue </class> 1001*dc5640d1SHerbert Xue <!-- end class com.google.inject.Scopes --> 1002*dc5640d1SHerbert Xue <!-- start class com.google.inject.Singleton --> 1003*dc5640d1SHerbert Xue <class name="Singleton" abstract="true" 1004*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1005*dc5640d1SHerbert Xue deprecated="not deprecated"> 1006*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 1007*dc5640d1SHerbert Xue <doc> 1008*dc5640d1SHerbert Xue <![CDATA[Apply this to implementation classes when you want only one instance 1009*dc5640d1SHerbert Xue (per {@link Injector}) to be reused for all injections for that binding. 1010*dc5640d1SHerbert Xue 1011*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1012*dc5640d1SHerbert Xue </doc> 1013*dc5640d1SHerbert Xue </class> 1014*dc5640d1SHerbert Xue <!-- end class com.google.inject.Singleton --> 1015*dc5640d1SHerbert Xue <!-- start class com.google.inject.Stage --> 1016*dc5640d1SHerbert Xue <class name="Stage" extends="java.lang.Enum<com.google.inject.Stage>" 1017*dc5640d1SHerbert Xue abstract="false" 1018*dc5640d1SHerbert Xue static="false" final="true" visibility="public" 1019*dc5640d1SHerbert Xue deprecated="not deprecated"> 1020*dc5640d1SHerbert Xue <method name="values" return="com.google.inject.Stage[]" 1021*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1022*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1023*dc5640d1SHerbert Xue deprecated="not deprecated"> 1024*dc5640d1SHerbert Xue </method> 1025*dc5640d1SHerbert Xue <method name="valueOf" return="com.google.inject.Stage" 1026*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1027*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1028*dc5640d1SHerbert Xue deprecated="not deprecated"> 1029*dc5640d1SHerbert Xue <param name="name" type="java.lang.String"/> 1030*dc5640d1SHerbert Xue </method> 1031*dc5640d1SHerbert Xue <doc> 1032*dc5640d1SHerbert Xue <![CDATA[The stage we're running in. 1033*dc5640d1SHerbert Xue 1034*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1035*dc5640d1SHerbert Xue </doc> 1036*dc5640d1SHerbert Xue </class> 1037*dc5640d1SHerbert Xue <!-- end class com.google.inject.Stage --> 1038*dc5640d1SHerbert Xue <!-- start class com.google.inject.TypeLiteral --> 1039*dc5640d1SHerbert Xue <class name="TypeLiteral" extends="java.lang.Object" 1040*dc5640d1SHerbert Xue abstract="true" 1041*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1042*dc5640d1SHerbert Xue deprecated="not deprecated"> 1043*dc5640d1SHerbert Xue <constructor name="TypeLiteral" 1044*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 1045*dc5640d1SHerbert Xue deprecated="not deprecated"> 1046*dc5640d1SHerbert Xue <doc> 1047*dc5640d1SHerbert Xue <![CDATA[Constructs a new type literal. Derives represented class from type 1048*dc5640d1SHerbert Xue parameter. 1049*dc5640d1SHerbert Xue 1050*dc5640d1SHerbert Xue <p>Clients create an empty anonymous subclass. Doing so embeds the type 1051*dc5640d1SHerbert Xue parameter in the anonymous class's type hierarchy so we can reconstitute it 1052*dc5640d1SHerbert Xue at runtime despite erasure.]]> 1053*dc5640d1SHerbert Xue </doc> 1054*dc5640d1SHerbert Xue </constructor> 1055*dc5640d1SHerbert Xue <method name="getType" return="java.lang.reflect.Type" 1056*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1057*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1058*dc5640d1SHerbert Xue deprecated="not deprecated"> 1059*dc5640d1SHerbert Xue <doc> 1060*dc5640d1SHerbert Xue <![CDATA[Gets underlying {@code Type} instance.]]> 1061*dc5640d1SHerbert Xue </doc> 1062*dc5640d1SHerbert Xue </method> 1063*dc5640d1SHerbert Xue <method name="hashCode" return="int" 1064*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1065*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1066*dc5640d1SHerbert Xue deprecated="not deprecated"> 1067*dc5640d1SHerbert Xue </method> 1068*dc5640d1SHerbert Xue <method name="equals" return="boolean" 1069*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1070*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1071*dc5640d1SHerbert Xue deprecated="not deprecated"> 1072*dc5640d1SHerbert Xue <param name="o" type="java.lang.Object"/> 1073*dc5640d1SHerbert Xue </method> 1074*dc5640d1SHerbert Xue <method name="toString" return="java.lang.String" 1075*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1076*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1077*dc5640d1SHerbert Xue deprecated="not deprecated"> 1078*dc5640d1SHerbert Xue </method> 1079*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.TypeLiteral<?>" 1080*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1081*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1082*dc5640d1SHerbert Xue deprecated="not deprecated"> 1083*dc5640d1SHerbert Xue <param name="type" type="java.lang.reflect.Type"/> 1084*dc5640d1SHerbert Xue <doc> 1085*dc5640d1SHerbert Xue <![CDATA[Gets type literal for the given {@code Type} instance.]]> 1086*dc5640d1SHerbert Xue </doc> 1087*dc5640d1SHerbert Xue </method> 1088*dc5640d1SHerbert Xue <method name="get" return="com.google.inject.TypeLiteral<T>" 1089*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1090*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1091*dc5640d1SHerbert Xue deprecated="not deprecated"> 1092*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 1093*dc5640d1SHerbert Xue <doc> 1094*dc5640d1SHerbert Xue <![CDATA[Gets type literal for the given {@code Class} instance.]]> 1095*dc5640d1SHerbert Xue </doc> 1096*dc5640d1SHerbert Xue </method> 1097*dc5640d1SHerbert Xue <doc> 1098*dc5640d1SHerbert Xue <![CDATA[Represents a generic type {@code T}. Java doesn't yet provide a way to 1099*dc5640d1SHerbert Xue represent generic types, so this class does. Forces clients to create a 1100*dc5640d1SHerbert Xue subclass of this class which enables retrieval the type information even at 1101*dc5640d1SHerbert Xue runtime. 1102*dc5640d1SHerbert Xue 1103*dc5640d1SHerbert Xue <p>For example, to create a type literal for {@code List<String>}, you can 1104*dc5640d1SHerbert Xue create an empty anonymous inner class: 1105*dc5640d1SHerbert Xue 1106*dc5640d1SHerbert Xue <p> 1107*dc5640d1SHerbert Xue {@code TypeLiteral<List<String>> list = new TypeLiteral<List<String>>() {};} 1108*dc5640d1SHerbert Xue 1109*dc5640d1SHerbert Xue <p>Assumes that type {@code T} implements {@link Object#equals} and 1110*dc5640d1SHerbert Xue {@link Object#hashCode()} as value (as opposed to identity) comparison. 1111*dc5640d1SHerbert Xue 1112*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1113*dc5640d1SHerbert Xue </doc> 1114*dc5640d1SHerbert Xue </class> 1115*dc5640d1SHerbert Xue <!-- end class com.google.inject.TypeLiteral --> 1116*dc5640d1SHerbert Xue</package> 1117*dc5640d1SHerbert Xue<package name="com.google.inject.binder"> 1118*dc5640d1SHerbert Xue <!-- start interface com.google.inject.binder.AnnotatedBindingBuilder --> 1119*dc5640d1SHerbert Xue <interface name="AnnotatedBindingBuilder" abstract="true" 1120*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1121*dc5640d1SHerbert Xue deprecated="not deprecated"> 1122*dc5640d1SHerbert Xue <implements name="com.google.inject.binder.LinkedBindingBuilder<T>"/> 1123*dc5640d1SHerbert Xue <method name="annotatedWith" return="com.google.inject.binder.LinkedBindingBuilder<T>" 1124*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1125*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1126*dc5640d1SHerbert Xue deprecated="not deprecated"> 1127*dc5640d1SHerbert Xue <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 1128*dc5640d1SHerbert Xue <doc> 1129*dc5640d1SHerbert Xue <![CDATA[Specifies an annotation type for this binding.]]> 1130*dc5640d1SHerbert Xue </doc> 1131*dc5640d1SHerbert Xue </method> 1132*dc5640d1SHerbert Xue <method name="annotatedWith" return="com.google.inject.binder.LinkedBindingBuilder<T>" 1133*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1134*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1135*dc5640d1SHerbert Xue deprecated="not deprecated"> 1136*dc5640d1SHerbert Xue <param name="annotation" type="java.lang.annotation.Annotation"/> 1137*dc5640d1SHerbert Xue <doc> 1138*dc5640d1SHerbert Xue <![CDATA[Specifies an annotation value for this binding.]]> 1139*dc5640d1SHerbert Xue </doc> 1140*dc5640d1SHerbert Xue </method> 1141*dc5640d1SHerbert Xue <doc> 1142*dc5640d1SHerbert Xue <![CDATA[Specifies the annotation for a binding. 1143*dc5640d1SHerbert Xue 1144*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1145*dc5640d1SHerbert Xue </doc> 1146*dc5640d1SHerbert Xue </interface> 1147*dc5640d1SHerbert Xue <!-- end interface com.google.inject.binder.AnnotatedBindingBuilder --> 1148*dc5640d1SHerbert Xue <!-- start interface com.google.inject.binder.AnnotatedConstantBindingBuilder --> 1149*dc5640d1SHerbert Xue <interface name="AnnotatedConstantBindingBuilder" abstract="true" 1150*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1151*dc5640d1SHerbert Xue deprecated="not deprecated"> 1152*dc5640d1SHerbert Xue <method name="annotatedWith" return="com.google.inject.binder.ConstantBindingBuilder" 1153*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1154*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1155*dc5640d1SHerbert Xue deprecated="not deprecated"> 1156*dc5640d1SHerbert Xue <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 1157*dc5640d1SHerbert Xue <doc> 1158*dc5640d1SHerbert Xue <![CDATA[Specifies an annotation type for this binding.]]> 1159*dc5640d1SHerbert Xue </doc> 1160*dc5640d1SHerbert Xue </method> 1161*dc5640d1SHerbert Xue <method name="annotatedWith" return="com.google.inject.binder.ConstantBindingBuilder" 1162*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1163*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1164*dc5640d1SHerbert Xue deprecated="not deprecated"> 1165*dc5640d1SHerbert Xue <param name="annotation" type="java.lang.annotation.Annotation"/> 1166*dc5640d1SHerbert Xue <doc> 1167*dc5640d1SHerbert Xue <![CDATA[Specifies an annotation value for this binding.]]> 1168*dc5640d1SHerbert Xue </doc> 1169*dc5640d1SHerbert Xue </method> 1170*dc5640d1SHerbert Xue <doc> 1171*dc5640d1SHerbert Xue <![CDATA[Specifies the annotation for a constant binding. 1172*dc5640d1SHerbert Xue 1173*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1174*dc5640d1SHerbert Xue </doc> 1175*dc5640d1SHerbert Xue </interface> 1176*dc5640d1SHerbert Xue <!-- end interface com.google.inject.binder.AnnotatedConstantBindingBuilder --> 1177*dc5640d1SHerbert Xue <!-- start interface com.google.inject.binder.ConstantBindingBuilder --> 1178*dc5640d1SHerbert Xue <interface name="ConstantBindingBuilder" abstract="true" 1179*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1180*dc5640d1SHerbert Xue deprecated="not deprecated"> 1181*dc5640d1SHerbert Xue <method name="to" 1182*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1183*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1184*dc5640d1SHerbert Xue deprecated="not deprecated"> 1185*dc5640d1SHerbert Xue <param name="value" type="java.lang.String"/> 1186*dc5640d1SHerbert Xue <doc> 1187*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1188*dc5640d1SHerbert Xue </doc> 1189*dc5640d1SHerbert Xue </method> 1190*dc5640d1SHerbert Xue <method name="to" 1191*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1192*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1193*dc5640d1SHerbert Xue deprecated="not deprecated"> 1194*dc5640d1SHerbert Xue <param name="value" type="int"/> 1195*dc5640d1SHerbert Xue <doc> 1196*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1197*dc5640d1SHerbert Xue </doc> 1198*dc5640d1SHerbert Xue </method> 1199*dc5640d1SHerbert Xue <method name="to" 1200*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1201*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1202*dc5640d1SHerbert Xue deprecated="not deprecated"> 1203*dc5640d1SHerbert Xue <param name="value" type="long"/> 1204*dc5640d1SHerbert Xue <doc> 1205*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1206*dc5640d1SHerbert Xue </doc> 1207*dc5640d1SHerbert Xue </method> 1208*dc5640d1SHerbert Xue <method name="to" 1209*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1210*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1211*dc5640d1SHerbert Xue deprecated="not deprecated"> 1212*dc5640d1SHerbert Xue <param name="value" type="boolean"/> 1213*dc5640d1SHerbert Xue <doc> 1214*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1215*dc5640d1SHerbert Xue </doc> 1216*dc5640d1SHerbert Xue </method> 1217*dc5640d1SHerbert Xue <method name="to" 1218*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1219*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1220*dc5640d1SHerbert Xue deprecated="not deprecated"> 1221*dc5640d1SHerbert Xue <param name="value" type="double"/> 1222*dc5640d1SHerbert Xue <doc> 1223*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1224*dc5640d1SHerbert Xue </doc> 1225*dc5640d1SHerbert Xue </method> 1226*dc5640d1SHerbert Xue <method name="to" 1227*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1228*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1229*dc5640d1SHerbert Xue deprecated="not deprecated"> 1230*dc5640d1SHerbert Xue <param name="value" type="float"/> 1231*dc5640d1SHerbert Xue <doc> 1232*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1233*dc5640d1SHerbert Xue </doc> 1234*dc5640d1SHerbert Xue </method> 1235*dc5640d1SHerbert Xue <method name="to" 1236*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1237*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1238*dc5640d1SHerbert Xue deprecated="not deprecated"> 1239*dc5640d1SHerbert Xue <param name="value" type="short"/> 1240*dc5640d1SHerbert Xue <doc> 1241*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1242*dc5640d1SHerbert Xue </doc> 1243*dc5640d1SHerbert Xue </method> 1244*dc5640d1SHerbert Xue <method name="to" 1245*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1246*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1247*dc5640d1SHerbert Xue deprecated="not deprecated"> 1248*dc5640d1SHerbert Xue <param name="value" type="char"/> 1249*dc5640d1SHerbert Xue <doc> 1250*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1251*dc5640d1SHerbert Xue </doc> 1252*dc5640d1SHerbert Xue </method> 1253*dc5640d1SHerbert Xue <method name="to" 1254*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1255*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1256*dc5640d1SHerbert Xue deprecated="not deprecated"> 1257*dc5640d1SHerbert Xue <param name="value" type="java.lang.Class<?>"/> 1258*dc5640d1SHerbert Xue <doc> 1259*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1260*dc5640d1SHerbert Xue </doc> 1261*dc5640d1SHerbert Xue </method> 1262*dc5640d1SHerbert Xue <method name="to" 1263*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1264*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1265*dc5640d1SHerbert Xue deprecated="not deprecated"> 1266*dc5640d1SHerbert Xue <param name="value" type="E extends java.lang.Enum<E>"/> 1267*dc5640d1SHerbert Xue <doc> 1268*dc5640d1SHerbert Xue <![CDATA[Binds constant to the given value.]]> 1269*dc5640d1SHerbert Xue </doc> 1270*dc5640d1SHerbert Xue </method> 1271*dc5640d1SHerbert Xue <doc> 1272*dc5640d1SHerbert Xue <![CDATA[Binds to a constant value.]]> 1273*dc5640d1SHerbert Xue </doc> 1274*dc5640d1SHerbert Xue </interface> 1275*dc5640d1SHerbert Xue <!-- end interface com.google.inject.binder.ConstantBindingBuilder --> 1276*dc5640d1SHerbert Xue <!-- start interface com.google.inject.binder.LinkedBindingBuilder --> 1277*dc5640d1SHerbert Xue <interface name="LinkedBindingBuilder" abstract="true" 1278*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1279*dc5640d1SHerbert Xue deprecated="not deprecated"> 1280*dc5640d1SHerbert Xue <implements name="com.google.inject.binder.ScopedBindingBuilder"/> 1281*dc5640d1SHerbert Xue <method name="to" return="com.google.inject.binder.ScopedBindingBuilder" 1282*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1283*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1284*dc5640d1SHerbert Xue deprecated="not deprecated"> 1285*dc5640d1SHerbert Xue <param name="implementation" type="java.lang.Class<? extends T>"/> 1286*dc5640d1SHerbert Xue <doc> 1287*dc5640d1SHerbert Xue <![CDATA[Binds to another binding with the specified type.]]> 1288*dc5640d1SHerbert Xue </doc> 1289*dc5640d1SHerbert Xue </method> 1290*dc5640d1SHerbert Xue <method name="to" return="com.google.inject.binder.ScopedBindingBuilder" 1291*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1292*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1293*dc5640d1SHerbert Xue deprecated="not deprecated"> 1294*dc5640d1SHerbert Xue <param name="implementation" type="com.google.inject.TypeLiteral<? extends T>"/> 1295*dc5640d1SHerbert Xue <doc> 1296*dc5640d1SHerbert Xue <![CDATA[Binds to another binding with the specified type.]]> 1297*dc5640d1SHerbert Xue </doc> 1298*dc5640d1SHerbert Xue </method> 1299*dc5640d1SHerbert Xue <method name="to" return="com.google.inject.binder.ScopedBindingBuilder" 1300*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1301*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1302*dc5640d1SHerbert Xue deprecated="not deprecated"> 1303*dc5640d1SHerbert Xue <param name="targetKey" type="com.google.inject.Key<? extends T>"/> 1304*dc5640d1SHerbert Xue <doc> 1305*dc5640d1SHerbert Xue <![CDATA[Binds to another binding with the specified key.]]> 1306*dc5640d1SHerbert Xue </doc> 1307*dc5640d1SHerbert Xue </method> 1308*dc5640d1SHerbert Xue <method name="toInstance" 1309*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1310*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1311*dc5640d1SHerbert Xue deprecated="not deprecated"> 1312*dc5640d1SHerbert Xue <param name="instance" type="T"/> 1313*dc5640d1SHerbert Xue <doc> 1314*dc5640d1SHerbert Xue <![CDATA[Binds to the given instance. The Injector will automatically inject the 1315*dc5640d1SHerbert Xue members of this instance when it is first created. See {@link 1316*dc5640d1SHerbert Xue com.google.inject.Injector#injectMembers(Object)}.]]> 1317*dc5640d1SHerbert Xue </doc> 1318*dc5640d1SHerbert Xue </method> 1319*dc5640d1SHerbert Xue <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder" 1320*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1321*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1322*dc5640d1SHerbert Xue deprecated="not deprecated"> 1323*dc5640d1SHerbert Xue <param name="provider" type="com.google.inject.Provider<? extends T>"/> 1324*dc5640d1SHerbert Xue <doc> 1325*dc5640d1SHerbert Xue <![CDATA[Binds to instances generated by the given Provider. The Injector will 1326*dc5640d1SHerbert Xue automatically inject the members of this provider instance when it is first 1327*dc5640d1SHerbert Xue created. See {@link com.google.inject.Injector#injectMembers(Object)}.]]> 1328*dc5640d1SHerbert Xue </doc> 1329*dc5640d1SHerbert Xue </method> 1330*dc5640d1SHerbert Xue <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder" 1331*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1332*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1333*dc5640d1SHerbert Xue deprecated="not deprecated"> 1334*dc5640d1SHerbert Xue <param name="providerType" type="java.lang.Class<? extends com.google.inject.Provider<? extends T>>"/> 1335*dc5640d1SHerbert Xue <doc> 1336*dc5640d1SHerbert Xue <![CDATA[Binds to instances from the provider bound to the given provider type.]]> 1337*dc5640d1SHerbert Xue </doc> 1338*dc5640d1SHerbert Xue </method> 1339*dc5640d1SHerbert Xue <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder" 1340*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1341*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1342*dc5640d1SHerbert Xue deprecated="not deprecated"> 1343*dc5640d1SHerbert Xue <param name="providerKey" type="com.google.inject.Key<? extends com.google.inject.Provider<? extends T>>"/> 1344*dc5640d1SHerbert Xue <doc> 1345*dc5640d1SHerbert Xue <![CDATA[Binds to instances from the provider bound to the given key.]]> 1346*dc5640d1SHerbert Xue </doc> 1347*dc5640d1SHerbert Xue </method> 1348*dc5640d1SHerbert Xue <doc> 1349*dc5640d1SHerbert Xue <![CDATA[Links a binding to another binding or an instance. 1350*dc5640d1SHerbert Xue 1351*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1352*dc5640d1SHerbert Xue </doc> 1353*dc5640d1SHerbert Xue </interface> 1354*dc5640d1SHerbert Xue <!-- end interface com.google.inject.binder.LinkedBindingBuilder --> 1355*dc5640d1SHerbert Xue <!-- start interface com.google.inject.binder.ScopedBindingBuilder --> 1356*dc5640d1SHerbert Xue <interface name="ScopedBindingBuilder" abstract="true" 1357*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1358*dc5640d1SHerbert Xue deprecated="not deprecated"> 1359*dc5640d1SHerbert Xue <method name="in" 1360*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1361*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1362*dc5640d1SHerbert Xue deprecated="not deprecated"> 1363*dc5640d1SHerbert Xue <param name="scopeAnnotation" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 1364*dc5640d1SHerbert Xue <doc> 1365*dc5640d1SHerbert Xue <![CDATA[Specifies the scope. References the annotation passed to {@link 1366*dc5640d1SHerbert Xue com.google.inject.Binder#bindScope(Class, com.google.inject.Scope)}.]]> 1367*dc5640d1SHerbert Xue </doc> 1368*dc5640d1SHerbert Xue </method> 1369*dc5640d1SHerbert Xue <method name="in" 1370*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1371*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1372*dc5640d1SHerbert Xue deprecated="not deprecated"> 1373*dc5640d1SHerbert Xue <param name="scope" type="com.google.inject.Scope"/> 1374*dc5640d1SHerbert Xue <doc> 1375*dc5640d1SHerbert Xue <![CDATA[Specifies the scope.]]> 1376*dc5640d1SHerbert Xue </doc> 1377*dc5640d1SHerbert Xue </method> 1378*dc5640d1SHerbert Xue <method name="asEagerSingleton" 1379*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1380*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1381*dc5640d1SHerbert Xue deprecated="not deprecated"> 1382*dc5640d1SHerbert Xue <doc> 1383*dc5640d1SHerbert Xue <![CDATA[Instructs the {@link com.google.inject.Injector} to eagerly initialize this 1384*dc5640d1SHerbert Xue singleton-scoped binding upon creation. Useful for application 1385*dc5640d1SHerbert Xue initialization logic.]]> 1386*dc5640d1SHerbert Xue </doc> 1387*dc5640d1SHerbert Xue </method> 1388*dc5640d1SHerbert Xue <doc> 1389*dc5640d1SHerbert Xue <![CDATA[Specifies the scope for a binding. 1390*dc5640d1SHerbert Xue 1391*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1392*dc5640d1SHerbert Xue </doc> 1393*dc5640d1SHerbert Xue </interface> 1394*dc5640d1SHerbert Xue <!-- end interface com.google.inject.binder.ScopedBindingBuilder --> 1395*dc5640d1SHerbert Xue</package> 1396*dc5640d1SHerbert Xue<package name="com.google.inject.jndi"> 1397*dc5640d1SHerbert Xue <!-- start class com.google.inject.jndi.JndiIntegration --> 1398*dc5640d1SHerbert Xue <class name="JndiIntegration" extends="java.lang.Object" 1399*dc5640d1SHerbert Xue abstract="false" 1400*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1401*dc5640d1SHerbert Xue deprecated="not deprecated"> 1402*dc5640d1SHerbert Xue <method name="fromJndi" return="com.google.inject.Provider<T>" 1403*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1404*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1405*dc5640d1SHerbert Xue deprecated="not deprecated"> 1406*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 1407*dc5640d1SHerbert Xue <param name="name" type="java.lang.String"/> 1408*dc5640d1SHerbert Xue <doc> 1409*dc5640d1SHerbert Xue <![CDATA[Creates a provider which looks up objects in JNDI using the given name. 1410*dc5640d1SHerbert Xue Example usage: 1411*dc5640d1SHerbert Xue 1412*dc5640d1SHerbert Xue <pre> 1413*dc5640d1SHerbert Xue bind(DataSource.class).toProvider(fromJndi(DataSource.class, "java:...")); 1414*dc5640d1SHerbert Xue </pre>]]> 1415*dc5640d1SHerbert Xue </doc> 1416*dc5640d1SHerbert Xue </method> 1417*dc5640d1SHerbert Xue <doc> 1418*dc5640d1SHerbert Xue <![CDATA[Integrates Guice with JNDI. Requires a binding to 1419*dc5640d1SHerbert Xue {@link javax.naming.Context}. 1420*dc5640d1SHerbert Xue 1421*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1422*dc5640d1SHerbert Xue </doc> 1423*dc5640d1SHerbert Xue </class> 1424*dc5640d1SHerbert Xue <!-- end class com.google.inject.jndi.JndiIntegration --> 1425*dc5640d1SHerbert Xue</package> 1426*dc5640d1SHerbert Xue<package name="com.google.inject.matcher"> 1427*dc5640d1SHerbert Xue <!-- start class com.google.inject.matcher.AbstractMatcher --> 1428*dc5640d1SHerbert Xue <class name="AbstractMatcher" extends="java.lang.Object" 1429*dc5640d1SHerbert Xue abstract="true" 1430*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1431*dc5640d1SHerbert Xue deprecated="not deprecated"> 1432*dc5640d1SHerbert Xue <implements name="com.google.inject.matcher.Matcher<T>"/> 1433*dc5640d1SHerbert Xue <constructor name="AbstractMatcher" 1434*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1435*dc5640d1SHerbert Xue deprecated="not deprecated"> 1436*dc5640d1SHerbert Xue </constructor> 1437*dc5640d1SHerbert Xue <method name="and" return="com.google.inject.matcher.Matcher<T>" 1438*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1439*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1440*dc5640d1SHerbert Xue deprecated="not deprecated"> 1441*dc5640d1SHerbert Xue <param name="other" type="com.google.inject.matcher.Matcher<? super T>"/> 1442*dc5640d1SHerbert Xue </method> 1443*dc5640d1SHerbert Xue <method name="or" return="com.google.inject.matcher.Matcher<T>" 1444*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1445*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1446*dc5640d1SHerbert Xue deprecated="not deprecated"> 1447*dc5640d1SHerbert Xue <param name="other" type="com.google.inject.matcher.Matcher<? super T>"/> 1448*dc5640d1SHerbert Xue </method> 1449*dc5640d1SHerbert Xue <doc> 1450*dc5640d1SHerbert Xue <![CDATA[Implements {@code and()} and {@code or()}. 1451*dc5640d1SHerbert Xue 1452*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1453*dc5640d1SHerbert Xue </doc> 1454*dc5640d1SHerbert Xue </class> 1455*dc5640d1SHerbert Xue <!-- end class com.google.inject.matcher.AbstractMatcher --> 1456*dc5640d1SHerbert Xue <!-- start interface com.google.inject.matcher.Matcher --> 1457*dc5640d1SHerbert Xue <interface name="Matcher" abstract="true" 1458*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1459*dc5640d1SHerbert Xue deprecated="not deprecated"> 1460*dc5640d1SHerbert Xue <method name="matches" return="boolean" 1461*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1462*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1463*dc5640d1SHerbert Xue deprecated="not deprecated"> 1464*dc5640d1SHerbert Xue <param name="t" type="T"/> 1465*dc5640d1SHerbert Xue <doc> 1466*dc5640d1SHerbert Xue <![CDATA[Returns {@code true} if this matches {@code t}, {@code false} otherwise.]]> 1467*dc5640d1SHerbert Xue </doc> 1468*dc5640d1SHerbert Xue </method> 1469*dc5640d1SHerbert Xue <method name="and" return="com.google.inject.matcher.Matcher<T>" 1470*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1471*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1472*dc5640d1SHerbert Xue deprecated="not deprecated"> 1473*dc5640d1SHerbert Xue <param name="other" type="com.google.inject.matcher.Matcher<? super T>"/> 1474*dc5640d1SHerbert Xue <doc> 1475*dc5640d1SHerbert Xue <![CDATA[Returns a new matcher which returns {@code true} if both this and the 1476*dc5640d1SHerbert Xue given matcher return {@code true}.]]> 1477*dc5640d1SHerbert Xue </doc> 1478*dc5640d1SHerbert Xue </method> 1479*dc5640d1SHerbert Xue <method name="or" return="com.google.inject.matcher.Matcher<T>" 1480*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1481*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1482*dc5640d1SHerbert Xue deprecated="not deprecated"> 1483*dc5640d1SHerbert Xue <param name="other" type="com.google.inject.matcher.Matcher<? super T>"/> 1484*dc5640d1SHerbert Xue <doc> 1485*dc5640d1SHerbert Xue <![CDATA[Returns a new matcher which returns {@code true} if either this or the 1486*dc5640d1SHerbert Xue given matcher return {@code true}.]]> 1487*dc5640d1SHerbert Xue </doc> 1488*dc5640d1SHerbert Xue </method> 1489*dc5640d1SHerbert Xue <doc> 1490*dc5640d1SHerbert Xue <![CDATA[Returns {@code true} or {@code false} for a given input. 1491*dc5640d1SHerbert Xue 1492*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1493*dc5640d1SHerbert Xue </doc> 1494*dc5640d1SHerbert Xue </interface> 1495*dc5640d1SHerbert Xue <!-- end interface com.google.inject.matcher.Matcher --> 1496*dc5640d1SHerbert Xue <!-- start class com.google.inject.matcher.Matchers --> 1497*dc5640d1SHerbert Xue <class name="Matchers" extends="java.lang.Object" 1498*dc5640d1SHerbert Xue abstract="false" 1499*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1500*dc5640d1SHerbert Xue deprecated="not deprecated"> 1501*dc5640d1SHerbert Xue <method name="any" return="com.google.inject.matcher.Matcher<java.lang.Object>" 1502*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1503*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1504*dc5640d1SHerbert Xue deprecated="not deprecated"> 1505*dc5640d1SHerbert Xue <doc> 1506*dc5640d1SHerbert Xue <![CDATA[Returns a matcher which matches any input.]]> 1507*dc5640d1SHerbert Xue </doc> 1508*dc5640d1SHerbert Xue </method> 1509*dc5640d1SHerbert Xue <method name="not" return="com.google.inject.matcher.Matcher<T>" 1510*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1511*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1512*dc5640d1SHerbert Xue deprecated="not deprecated"> 1513*dc5640d1SHerbert Xue <param name="p" type="com.google.inject.matcher.Matcher<? super T>"/> 1514*dc5640d1SHerbert Xue <doc> 1515*dc5640d1SHerbert Xue <![CDATA[Inverts the given matcher.]]> 1516*dc5640d1SHerbert Xue </doc> 1517*dc5640d1SHerbert Xue </method> 1518*dc5640d1SHerbert Xue <method name="annotatedWith" return="com.google.inject.matcher.Matcher<java.lang.reflect.AnnotatedElement>" 1519*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1520*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1521*dc5640d1SHerbert Xue deprecated="not deprecated"> 1522*dc5640d1SHerbert Xue <param name="annotationType" type="java.lang.Class<? extends java.lang.annotation.Annotation>"/> 1523*dc5640d1SHerbert Xue <doc> 1524*dc5640d1SHerbert Xue <![CDATA[Returns a matcher which matches elements (methods, classes, etc.) 1525*dc5640d1SHerbert Xue with a given annotation.]]> 1526*dc5640d1SHerbert Xue </doc> 1527*dc5640d1SHerbert Xue </method> 1528*dc5640d1SHerbert Xue <method name="annotatedWith" return="com.google.inject.matcher.Matcher<java.lang.reflect.AnnotatedElement>" 1529*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1530*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1531*dc5640d1SHerbert Xue deprecated="not deprecated"> 1532*dc5640d1SHerbert Xue <param name="annotation" type="java.lang.annotation.Annotation"/> 1533*dc5640d1SHerbert Xue <doc> 1534*dc5640d1SHerbert Xue <![CDATA[Returns a matcher which matches elements (methods, classes, etc.) 1535*dc5640d1SHerbert Xue with a given annotation.]]> 1536*dc5640d1SHerbert Xue </doc> 1537*dc5640d1SHerbert Xue </method> 1538*dc5640d1SHerbert Xue <method name="subclassesOf" return="com.google.inject.matcher.Matcher<java.lang.Class>" 1539*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1540*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1541*dc5640d1SHerbert Xue deprecated="not deprecated"> 1542*dc5640d1SHerbert Xue <param name="superclass" type="java.lang.Class<?>"/> 1543*dc5640d1SHerbert Xue <doc> 1544*dc5640d1SHerbert Xue <![CDATA[Returns a matcher which matches subclasses of the given type (as well as 1545*dc5640d1SHerbert Xue the given type).]]> 1546*dc5640d1SHerbert Xue </doc> 1547*dc5640d1SHerbert Xue </method> 1548*dc5640d1SHerbert Xue <method name="only" return="com.google.inject.matcher.Matcher<java.lang.Object>" 1549*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1550*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1551*dc5640d1SHerbert Xue deprecated="not deprecated"> 1552*dc5640d1SHerbert Xue <param name="o" type="java.lang.Object"/> 1553*dc5640d1SHerbert Xue <doc> 1554*dc5640d1SHerbert Xue <![CDATA[Returns a matcher which matches objects equal to the given object.]]> 1555*dc5640d1SHerbert Xue </doc> 1556*dc5640d1SHerbert Xue </method> 1557*dc5640d1SHerbert Xue <method name="identicalTo" return="com.google.inject.matcher.Matcher<java.lang.Object>" 1558*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1559*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1560*dc5640d1SHerbert Xue deprecated="not deprecated"> 1561*dc5640d1SHerbert Xue <param name="o" type="java.lang.Object"/> 1562*dc5640d1SHerbert Xue <doc> 1563*dc5640d1SHerbert Xue <![CDATA[Returns a matcher which matches only the given object.]]> 1564*dc5640d1SHerbert Xue </doc> 1565*dc5640d1SHerbert Xue </method> 1566*dc5640d1SHerbert Xue <method name="inPackage" return="com.google.inject.matcher.Matcher<java.lang.Class>" 1567*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1568*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1569*dc5640d1SHerbert Xue deprecated="not deprecated"> 1570*dc5640d1SHerbert Xue <param name="p" type="java.lang.Package"/> 1571*dc5640d1SHerbert Xue <doc> 1572*dc5640d1SHerbert Xue <![CDATA[Returns a matcher which matches classes in the given package.]]> 1573*dc5640d1SHerbert Xue </doc> 1574*dc5640d1SHerbert Xue </method> 1575*dc5640d1SHerbert Xue <method name="returns" return="com.google.inject.matcher.Matcher<java.lang.reflect.Method>" 1576*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1577*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1578*dc5640d1SHerbert Xue deprecated="not deprecated"> 1579*dc5640d1SHerbert Xue <param name="returnType" type="com.google.inject.matcher.Matcher<? super java.lang.Class<?>>"/> 1580*dc5640d1SHerbert Xue <doc> 1581*dc5640d1SHerbert Xue <![CDATA[Returns a matcher which matches methods with matching return types.]]> 1582*dc5640d1SHerbert Xue </doc> 1583*dc5640d1SHerbert Xue </method> 1584*dc5640d1SHerbert Xue <doc> 1585*dc5640d1SHerbert Xue <![CDATA[Matcher implementations. Supports matching classes and methods. 1586*dc5640d1SHerbert Xue 1587*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1588*dc5640d1SHerbert Xue </doc> 1589*dc5640d1SHerbert Xue </class> 1590*dc5640d1SHerbert Xue <!-- end class com.google.inject.matcher.Matchers --> 1591*dc5640d1SHerbert Xue</package> 1592*dc5640d1SHerbert Xue<package name="com.google.inject.name"> 1593*dc5640d1SHerbert Xue <!-- start class com.google.inject.name.Named --> 1594*dc5640d1SHerbert Xue <class name="Named" abstract="true" 1595*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1596*dc5640d1SHerbert Xue deprecated="not deprecated"> 1597*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 1598*dc5640d1SHerbert Xue <doc> 1599*dc5640d1SHerbert Xue <![CDATA[Annotates named things. 1600*dc5640d1SHerbert Xue 1601*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1602*dc5640d1SHerbert Xue </doc> 1603*dc5640d1SHerbert Xue </class> 1604*dc5640d1SHerbert Xue <!-- end class com.google.inject.name.Named --> 1605*dc5640d1SHerbert Xue <!-- start class com.google.inject.name.Names --> 1606*dc5640d1SHerbert Xue <class name="Names" extends="java.lang.Object" 1607*dc5640d1SHerbert Xue abstract="false" 1608*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1609*dc5640d1SHerbert Xue deprecated="not deprecated"> 1610*dc5640d1SHerbert Xue <method name="named" return="com.google.inject.name.Named" 1611*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1612*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1613*dc5640d1SHerbert Xue deprecated="not deprecated"> 1614*dc5640d1SHerbert Xue <param name="name" type="java.lang.String"/> 1615*dc5640d1SHerbert Xue <doc> 1616*dc5640d1SHerbert Xue <![CDATA[Creates a {@link Named} annotation with {@code name} as the value.]]> 1617*dc5640d1SHerbert Xue </doc> 1618*dc5640d1SHerbert Xue </method> 1619*dc5640d1SHerbert Xue <method name="bindProperties" 1620*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1621*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1622*dc5640d1SHerbert Xue deprecated="not deprecated"> 1623*dc5640d1SHerbert Xue <param name="binder" type="com.google.inject.Binder"/> 1624*dc5640d1SHerbert Xue <param name="properties" type="java.util.Map<java.lang.String, java.lang.String>"/> 1625*dc5640d1SHerbert Xue <doc> 1626*dc5640d1SHerbert Xue <![CDATA[Creates a constant binding to {@code @Named(key)} for each property.]]> 1627*dc5640d1SHerbert Xue </doc> 1628*dc5640d1SHerbert Xue </method> 1629*dc5640d1SHerbert Xue <method name="bindProperties" 1630*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1631*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1632*dc5640d1SHerbert Xue deprecated="not deprecated"> 1633*dc5640d1SHerbert Xue <param name="binder" type="com.google.inject.Binder"/> 1634*dc5640d1SHerbert Xue <param name="properties" type="java.util.Properties"/> 1635*dc5640d1SHerbert Xue <doc> 1636*dc5640d1SHerbert Xue <![CDATA[Creates a constant binding to {@code @Named(key)} for each property.]]> 1637*dc5640d1SHerbert Xue </doc> 1638*dc5640d1SHerbert Xue </method> 1639*dc5640d1SHerbert Xue <doc> 1640*dc5640d1SHerbert Xue <![CDATA[Utility methods for use with {@code @}{@link Named}. 1641*dc5640d1SHerbert Xue 1642*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1643*dc5640d1SHerbert Xue </doc> 1644*dc5640d1SHerbert Xue </class> 1645*dc5640d1SHerbert Xue <!-- end class com.google.inject.name.Names --> 1646*dc5640d1SHerbert Xue</package> 1647*dc5640d1SHerbert Xue<package name="com.google.inject.servlet"> 1648*dc5640d1SHerbert Xue <!-- start class com.google.inject.servlet.GuiceFilter --> 1649*dc5640d1SHerbert Xue <class name="GuiceFilter" extends="java.lang.Object" 1650*dc5640d1SHerbert Xue abstract="false" 1651*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1652*dc5640d1SHerbert Xue deprecated="not deprecated"> 1653*dc5640d1SHerbert Xue <constructor name="GuiceFilter" 1654*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1655*dc5640d1SHerbert Xue deprecated="not deprecated"> 1656*dc5640d1SHerbert Xue </constructor> 1657*dc5640d1SHerbert Xue <method name="doFilter" 1658*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1659*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1660*dc5640d1SHerbert Xue deprecated="not deprecated"> 1661*dc5640d1SHerbert Xue <param name="servletRequest" type="ServletRequest"/> 1662*dc5640d1SHerbert Xue <param name="servletResponse" type="ServletResponse"/> 1663*dc5640d1SHerbert Xue <param name="filterChain" type="FilterChain"/> 1664*dc5640d1SHerbert Xue <exception name="IOException" type="java.io.IOException"/> 1665*dc5640d1SHerbert Xue <exception name="ServletException" type="ServletException"/> 1666*dc5640d1SHerbert Xue </method> 1667*dc5640d1SHerbert Xue <method name="init" 1668*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1669*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1670*dc5640d1SHerbert Xue deprecated="not deprecated"> 1671*dc5640d1SHerbert Xue <param name="filterConfig" type="FilterConfig"/> 1672*dc5640d1SHerbert Xue <exception name="ServletException" type="ServletException"/> 1673*dc5640d1SHerbert Xue </method> 1674*dc5640d1SHerbert Xue <method name="destroy" 1675*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1676*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1677*dc5640d1SHerbert Xue deprecated="not deprecated"> 1678*dc5640d1SHerbert Xue </method> 1679*dc5640d1SHerbert Xue <doc> 1680*dc5640d1SHerbert Xue <![CDATA[Apply this filter to all requests where you plan to use servlet scopes. 1681*dc5640d1SHerbert Xue 1682*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1683*dc5640d1SHerbert Xue </doc> 1684*dc5640d1SHerbert Xue </class> 1685*dc5640d1SHerbert Xue <!-- end class com.google.inject.servlet.GuiceFilter --> 1686*dc5640d1SHerbert Xue <!-- start class com.google.inject.servlet.RequestParameters --> 1687*dc5640d1SHerbert Xue <class name="RequestParameters" abstract="true" 1688*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1689*dc5640d1SHerbert Xue deprecated="not deprecated"> 1690*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 1691*dc5640d1SHerbert Xue <doc> 1692*dc5640d1SHerbert Xue <![CDATA[Apply this to field or parameters of type {@code Map<String, String[]>} 1693*dc5640d1SHerbert Xue when you want the HTTP request parameter map to be injected. 1694*dc5640d1SHerbert Xue 1695*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1696*dc5640d1SHerbert Xue </doc> 1697*dc5640d1SHerbert Xue </class> 1698*dc5640d1SHerbert Xue <!-- end class com.google.inject.servlet.RequestParameters --> 1699*dc5640d1SHerbert Xue <!-- start class com.google.inject.servlet.RequestScoped --> 1700*dc5640d1SHerbert Xue <class name="RequestScoped" abstract="true" 1701*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1702*dc5640d1SHerbert Xue deprecated="not deprecated"> 1703*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 1704*dc5640d1SHerbert Xue <doc> 1705*dc5640d1SHerbert Xue <![CDATA[Apply this to implementation classes when you want one instance per request. 1706*dc5640d1SHerbert Xue 1707*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1708*dc5640d1SHerbert Xue </doc> 1709*dc5640d1SHerbert Xue </class> 1710*dc5640d1SHerbert Xue <!-- end class com.google.inject.servlet.RequestScoped --> 1711*dc5640d1SHerbert Xue <!-- start class com.google.inject.servlet.ServletModule --> 1712*dc5640d1SHerbert Xue <class name="ServletModule" extends="com.google.inject.AbstractModule" 1713*dc5640d1SHerbert Xue abstract="false" 1714*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1715*dc5640d1SHerbert Xue deprecated="not deprecated"> 1716*dc5640d1SHerbert Xue <constructor name="ServletModule" 1717*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1718*dc5640d1SHerbert Xue deprecated="not deprecated"> 1719*dc5640d1SHerbert Xue </constructor> 1720*dc5640d1SHerbert Xue <method name="configure" 1721*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1722*dc5640d1SHerbert Xue static="false" final="false" visibility="protected" 1723*dc5640d1SHerbert Xue deprecated="not deprecated"> 1724*dc5640d1SHerbert Xue </method> 1725*dc5640d1SHerbert Xue <doc> 1726*dc5640d1SHerbert Xue <![CDATA[Configures the servlet scopes and creates bindings for the servlet API 1727*dc5640d1SHerbert Xue objects so you can inject the request, response, session, etc. 1728*dc5640d1SHerbert Xue 1729*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1730*dc5640d1SHerbert Xue </doc> 1731*dc5640d1SHerbert Xue </class> 1732*dc5640d1SHerbert Xue <!-- end class com.google.inject.servlet.ServletModule --> 1733*dc5640d1SHerbert Xue <!-- start class com.google.inject.servlet.ServletScopes --> 1734*dc5640d1SHerbert Xue <class name="ServletScopes" extends="java.lang.Object" 1735*dc5640d1SHerbert Xue abstract="false" 1736*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1737*dc5640d1SHerbert Xue deprecated="not deprecated"> 1738*dc5640d1SHerbert Xue <field name="REQUEST" type="com.google.inject.Scope" 1739*dc5640d1SHerbert Xue transient="false" volatile="false" 1740*dc5640d1SHerbert Xue static="true" final="true" visibility="public" 1741*dc5640d1SHerbert Xue deprecated="not deprecated"> 1742*dc5640d1SHerbert Xue <doc> 1743*dc5640d1SHerbert Xue <![CDATA[HTTP servlet request scope.]]> 1744*dc5640d1SHerbert Xue </doc> 1745*dc5640d1SHerbert Xue </field> 1746*dc5640d1SHerbert Xue <field name="SESSION" type="com.google.inject.Scope" 1747*dc5640d1SHerbert Xue transient="false" volatile="false" 1748*dc5640d1SHerbert Xue static="true" final="true" visibility="public" 1749*dc5640d1SHerbert Xue deprecated="not deprecated"> 1750*dc5640d1SHerbert Xue <doc> 1751*dc5640d1SHerbert Xue <![CDATA[HTTP session scope.]]> 1752*dc5640d1SHerbert Xue </doc> 1753*dc5640d1SHerbert Xue </field> 1754*dc5640d1SHerbert Xue <doc> 1755*dc5640d1SHerbert Xue <![CDATA[Servlet scopes. 1756*dc5640d1SHerbert Xue 1757*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1758*dc5640d1SHerbert Xue </doc> 1759*dc5640d1SHerbert Xue </class> 1760*dc5640d1SHerbert Xue <!-- end class com.google.inject.servlet.ServletScopes --> 1761*dc5640d1SHerbert Xue <!-- start class com.google.inject.servlet.SessionScoped --> 1762*dc5640d1SHerbert Xue <class name="SessionScoped" abstract="true" 1763*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1764*dc5640d1SHerbert Xue deprecated="not deprecated"> 1765*dc5640d1SHerbert Xue <implements name="java.lang.annotation.Annotation"/> 1766*dc5640d1SHerbert Xue <doc> 1767*dc5640d1SHerbert Xue <![CDATA[Apply this to implementation classes when you want one instance per session. 1768*dc5640d1SHerbert Xue 1769*dc5640d1SHerbert Xue @see com.google.inject.Scopes#SINGLETON 1770*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1771*dc5640d1SHerbert Xue </doc> 1772*dc5640d1SHerbert Xue </class> 1773*dc5640d1SHerbert Xue <!-- end class com.google.inject.servlet.SessionScoped --> 1774*dc5640d1SHerbert Xue</package> 1775*dc5640d1SHerbert Xue<package name="com.google.inject.spi"> 1776*dc5640d1SHerbert Xue <!-- start class com.google.inject.spi.Message --> 1777*dc5640d1SHerbert Xue <class name="Message" extends="java.lang.Object" 1778*dc5640d1SHerbert Xue abstract="false" 1779*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1780*dc5640d1SHerbert Xue deprecated="not deprecated"> 1781*dc5640d1SHerbert Xue <constructor name="Message" type="java.lang.Object, java.lang.String" 1782*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1783*dc5640d1SHerbert Xue deprecated="not deprecated"> 1784*dc5640d1SHerbert Xue </constructor> 1785*dc5640d1SHerbert Xue <constructor name="Message" type="java.lang.String" 1786*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1787*dc5640d1SHerbert Xue deprecated="not deprecated"> 1788*dc5640d1SHerbert Xue </constructor> 1789*dc5640d1SHerbert Xue <method name="getSource" return="java.lang.Object" 1790*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1791*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1792*dc5640d1SHerbert Xue deprecated="not deprecated"> 1793*dc5640d1SHerbert Xue <doc> 1794*dc5640d1SHerbert Xue <![CDATA[Gets the source of the configuration which resulted in this error message.]]> 1795*dc5640d1SHerbert Xue </doc> 1796*dc5640d1SHerbert Xue </method> 1797*dc5640d1SHerbert Xue <method name="getSourceString" return="java.lang.String" 1798*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1799*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1800*dc5640d1SHerbert Xue deprecated="not deprecated"> 1801*dc5640d1SHerbert Xue <doc> 1802*dc5640d1SHerbert Xue <![CDATA[Returns a string representation of the source object.]]> 1803*dc5640d1SHerbert Xue </doc> 1804*dc5640d1SHerbert Xue </method> 1805*dc5640d1SHerbert Xue <method name="getMessage" return="java.lang.String" 1806*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1807*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1808*dc5640d1SHerbert Xue deprecated="not deprecated"> 1809*dc5640d1SHerbert Xue <doc> 1810*dc5640d1SHerbert Xue <![CDATA[Gets the error message text.]]> 1811*dc5640d1SHerbert Xue </doc> 1812*dc5640d1SHerbert Xue </method> 1813*dc5640d1SHerbert Xue <method name="toString" return="java.lang.String" 1814*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1815*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1816*dc5640d1SHerbert Xue deprecated="not deprecated"> 1817*dc5640d1SHerbert Xue </method> 1818*dc5640d1SHerbert Xue <method name="hashCode" return="int" 1819*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1820*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1821*dc5640d1SHerbert Xue deprecated="not deprecated"> 1822*dc5640d1SHerbert Xue </method> 1823*dc5640d1SHerbert Xue <method name="equals" return="boolean" 1824*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1825*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1826*dc5640d1SHerbert Xue deprecated="not deprecated"> 1827*dc5640d1SHerbert Xue <param name="o" type="java.lang.Object"/> 1828*dc5640d1SHerbert Xue </method> 1829*dc5640d1SHerbert Xue <doc> 1830*dc5640d1SHerbert Xue <![CDATA[A message. Contains a source pointing to the code which resulted 1831*dc5640d1SHerbert Xue in this message and a text message. 1832*dc5640d1SHerbert Xue 1833*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1834*dc5640d1SHerbert Xue </doc> 1835*dc5640d1SHerbert Xue </class> 1836*dc5640d1SHerbert Xue <!-- end class com.google.inject.spi.Message --> 1837*dc5640d1SHerbert Xue <!-- start interface com.google.inject.spi.SourceProvider --> 1838*dc5640d1SHerbert Xue <interface name="SourceProvider" abstract="true" 1839*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1840*dc5640d1SHerbert Xue deprecated="not deprecated"> 1841*dc5640d1SHerbert Xue <method name="source" return="java.lang.Object" 1842*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1843*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1844*dc5640d1SHerbert Xue deprecated="not deprecated"> 1845*dc5640d1SHerbert Xue <doc> 1846*dc5640d1SHerbert Xue <![CDATA[Creates an object pointing to the current location within the 1847*dc5640d1SHerbert Xue configuration. If we run into a problem later, we'll be able to trace it 1848*dc5640d1SHerbert Xue back to the original source. Useful for debugging.]]> 1849*dc5640d1SHerbert Xue </doc> 1850*dc5640d1SHerbert Xue </method> 1851*dc5640d1SHerbert Xue <doc> 1852*dc5640d1SHerbert Xue <![CDATA[Provides source objects to the {@link com.google.inject.Binder}. 1853*dc5640d1SHerbert Xue A source object is any object which points back to the current location 1854*dc5640d1SHerbert Xue within the configuration. Guice uses source objects in error messages 1855*dc5640d1SHerbert Xue and associates them with bindings. 1856*dc5640d1SHerbert Xue 1857*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1858*dc5640d1SHerbert Xue </doc> 1859*dc5640d1SHerbert Xue </interface> 1860*dc5640d1SHerbert Xue <!-- end interface com.google.inject.spi.SourceProvider --> 1861*dc5640d1SHerbert Xue <!-- start class com.google.inject.spi.SourceProviders --> 1862*dc5640d1SHerbert Xue <class name="SourceProviders" extends="java.lang.Object" 1863*dc5640d1SHerbert Xue abstract="false" 1864*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1865*dc5640d1SHerbert Xue deprecated="not deprecated"> 1866*dc5640d1SHerbert Xue <method name="skip" 1867*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="true" 1868*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1869*dc5640d1SHerbert Xue deprecated="not deprecated"> 1870*dc5640d1SHerbert Xue <param name="clazz" type="java.lang.Class<?>"/> 1871*dc5640d1SHerbert Xue <doc> 1872*dc5640d1SHerbert Xue <![CDATA[Instructs stacktrace-based providers to skip the given class in the stack 1873*dc5640d1SHerbert Xue trace when determining the source. Use this to keep the binder from 1874*dc5640d1SHerbert Xue logging utility methods as the sources of bindings (i.e. it will skip to 1875*dc5640d1SHerbert Xue the utility methods' callers instead). 1876*dc5640d1SHerbert Xue 1877*dc5640d1SHerbert Xue <p>Skipping only takes place after this method is called.]]> 1878*dc5640d1SHerbert Xue </doc> 1879*dc5640d1SHerbert Xue </method> 1880*dc5640d1SHerbert Xue <method name="getSkippedClassNames" return="java.util.Set<java.lang.String>" 1881*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="true" 1882*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1883*dc5640d1SHerbert Xue deprecated="not deprecated"> 1884*dc5640d1SHerbert Xue <doc> 1885*dc5640d1SHerbert Xue <![CDATA[Gets the set of class names which should be skipped by stacktrace-based 1886*dc5640d1SHerbert Xue providers.]]> 1887*dc5640d1SHerbert Xue </doc> 1888*dc5640d1SHerbert Xue </method> 1889*dc5640d1SHerbert Xue <method name="defaultSource" return="java.lang.Object" 1890*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1891*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1892*dc5640d1SHerbert Xue deprecated="not deprecated"> 1893*dc5640d1SHerbert Xue <doc> 1894*dc5640d1SHerbert Xue <![CDATA[Returns the current source obtained from the default provider.]]> 1895*dc5640d1SHerbert Xue </doc> 1896*dc5640d1SHerbert Xue </method> 1897*dc5640d1SHerbert Xue <method name="withDefault" 1898*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1899*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1900*dc5640d1SHerbert Xue deprecated="not deprecated"> 1901*dc5640d1SHerbert Xue <param name="sourceProvider" type="com.google.inject.spi.SourceProvider"/> 1902*dc5640d1SHerbert Xue <param name="r" type="java.lang.Runnable"/> 1903*dc5640d1SHerbert Xue <doc> 1904*dc5640d1SHerbert Xue <![CDATA[Sets the default source provider, runs the given command, and then 1905*dc5640d1SHerbert Xue restores the previous default source provider.]]> 1906*dc5640d1SHerbert Xue </doc> 1907*dc5640d1SHerbert Xue </method> 1908*dc5640d1SHerbert Xue <field name="UNKNOWN_SOURCE" type="java.lang.Object" 1909*dc5640d1SHerbert Xue transient="false" volatile="false" 1910*dc5640d1SHerbert Xue static="true" final="true" visibility="public" 1911*dc5640d1SHerbert Xue deprecated="not deprecated"> 1912*dc5640d1SHerbert Xue </field> 1913*dc5640d1SHerbert Xue <doc> 1914*dc5640d1SHerbert Xue <![CDATA[Provides access to the default {@link SourceProvider} implementation and 1915*dc5640d1SHerbert Xue common controls for certain implementations. 1916*dc5640d1SHerbert Xue 1917*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1918*dc5640d1SHerbert Xue </doc> 1919*dc5640d1SHerbert Xue </class> 1920*dc5640d1SHerbert Xue <!-- end class com.google.inject.spi.SourceProviders --> 1921*dc5640d1SHerbert Xue</package> 1922*dc5640d1SHerbert Xue<package name="com.google.inject.spring"> 1923*dc5640d1SHerbert Xue <!-- start class com.google.inject.spring.SpringIntegration --> 1924*dc5640d1SHerbert Xue <class name="SpringIntegration" extends="java.lang.Object" 1925*dc5640d1SHerbert Xue abstract="false" 1926*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1927*dc5640d1SHerbert Xue deprecated="not deprecated"> 1928*dc5640d1SHerbert Xue <method name="fromSpring" return="com.google.inject.Provider<T>" 1929*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1930*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1931*dc5640d1SHerbert Xue deprecated="not deprecated"> 1932*dc5640d1SHerbert Xue <param name="type" type="java.lang.Class<T>"/> 1933*dc5640d1SHerbert Xue <param name="name" type="java.lang.String"/> 1934*dc5640d1SHerbert Xue <doc> 1935*dc5640d1SHerbert Xue <![CDATA[Creates a provider which looks up objects from Spring using the given name. 1936*dc5640d1SHerbert Xue Expects a binding to {@link 1937*dc5640d1SHerbert Xue org.springframework.beans.factory.BeanFactory}. Example usage: 1938*dc5640d1SHerbert Xue 1939*dc5640d1SHerbert Xue <pre> 1940*dc5640d1SHerbert Xue bind(DataSource.class) 1941*dc5640d1SHerbert Xue .toProvider(fromSpring(DataSource.class, "dataSource")); 1942*dc5640d1SHerbert Xue </pre>]]> 1943*dc5640d1SHerbert Xue </doc> 1944*dc5640d1SHerbert Xue </method> 1945*dc5640d1SHerbert Xue <method name="bindAll" 1946*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1947*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 1948*dc5640d1SHerbert Xue deprecated="not deprecated"> 1949*dc5640d1SHerbert Xue <param name="binder" type="com.google.inject.Binder"/> 1950*dc5640d1SHerbert Xue <param name="beanFactory" type="ListableBeanFactory"/> 1951*dc5640d1SHerbert Xue <doc> 1952*dc5640d1SHerbert Xue <![CDATA[Binds all Spring beans from the given factory by name. For a Spring bean 1953*dc5640d1SHerbert Xue named "foo", this method creates a binding to the bean's type and 1954*dc5640d1SHerbert Xue {@code @Named("foo")}. 1955*dc5640d1SHerbert Xue 1956*dc5640d1SHerbert Xue @see com.google.inject.name.Named 1957*dc5640d1SHerbert Xue @see com.google.inject.name.Names#named(String)]]> 1958*dc5640d1SHerbert Xue </doc> 1959*dc5640d1SHerbert Xue </method> 1960*dc5640d1SHerbert Xue <doc> 1961*dc5640d1SHerbert Xue <![CDATA[Integrates Guice with Spring. 1962*dc5640d1SHerbert Xue 1963*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 1964*dc5640d1SHerbert Xue </doc> 1965*dc5640d1SHerbert Xue </class> 1966*dc5640d1SHerbert Xue <!-- end class com.google.inject.spring.SpringIntegration --> 1967*dc5640d1SHerbert Xue</package> 1968*dc5640d1SHerbert Xue<package name="com.google.inject.struts2"> 1969*dc5640d1SHerbert Xue <!-- start class com.google.inject.struts2.GuiceObjectFactory --> 1970*dc5640d1SHerbert Xue <class name="GuiceObjectFactory" extends="ObjectFactory" 1971*dc5640d1SHerbert Xue abstract="false" 1972*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1973*dc5640d1SHerbert Xue deprecated="not deprecated"> 1974*dc5640d1SHerbert Xue <constructor name="GuiceObjectFactory" 1975*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1976*dc5640d1SHerbert Xue deprecated="not deprecated"> 1977*dc5640d1SHerbert Xue </constructor> 1978*dc5640d1SHerbert Xue <method name="isNoArgConstructorRequired" return="boolean" 1979*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1980*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1981*dc5640d1SHerbert Xue deprecated="not deprecated"> 1982*dc5640d1SHerbert Xue </method> 1983*dc5640d1SHerbert Xue <method name="getClassInstance" return="java.lang.Class" 1984*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1985*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1986*dc5640d1SHerbert Xue deprecated="not deprecated"> 1987*dc5640d1SHerbert Xue <param name="name" type="java.lang.String"/> 1988*dc5640d1SHerbert Xue <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/> 1989*dc5640d1SHerbert Xue </method> 1990*dc5640d1SHerbert Xue <method name="buildBean" return="java.lang.Object" 1991*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1992*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 1993*dc5640d1SHerbert Xue deprecated="not deprecated"> 1994*dc5640d1SHerbert Xue <param name="clazz" type="java.lang.Class"/> 1995*dc5640d1SHerbert Xue <param name="extraContext" type="java.util.Map"/> 1996*dc5640d1SHerbert Xue </method> 1997*dc5640d1SHerbert Xue <method name="buildInterceptor" return="Interceptor" 1998*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 1999*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 2000*dc5640d1SHerbert Xue deprecated="not deprecated"> 2001*dc5640d1SHerbert Xue <param name="interceptorConfig" type="InterceptorConfig"/> 2002*dc5640d1SHerbert Xue <param name="interceptorRefParams" type="java.util.Map"/> 2003*dc5640d1SHerbert Xue <exception name="ConfigurationException" type="ConfigurationException"/> 2004*dc5640d1SHerbert Xue </method> 2005*dc5640d1SHerbert Xue </class> 2006*dc5640d1SHerbert Xue <!-- end class com.google.inject.struts2.GuiceObjectFactory --> 2007*dc5640d1SHerbert Xue</package> 2008*dc5640d1SHerbert Xue<package name="com.google.inject.tools.jmx"> 2009*dc5640d1SHerbert Xue <!-- start interface com.google.inject.tools.jmx.ManagedBindingMBean --> 2010*dc5640d1SHerbert Xue <interface name="ManagedBindingMBean" abstract="true" 2011*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 2012*dc5640d1SHerbert Xue deprecated="not deprecated"> 2013*dc5640d1SHerbert Xue <method name="getSource" return="java.lang.String" 2014*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 2015*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 2016*dc5640d1SHerbert Xue deprecated="not deprecated"> 2017*dc5640d1SHerbert Xue <doc> 2018*dc5640d1SHerbert Xue <![CDATA[Gets the source of this binding.]]> 2019*dc5640d1SHerbert Xue </doc> 2020*dc5640d1SHerbert Xue </method> 2021*dc5640d1SHerbert Xue <method name="getProvider" return="java.lang.String" 2022*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 2023*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 2024*dc5640d1SHerbert Xue deprecated="not deprecated"> 2025*dc5640d1SHerbert Xue <doc> 2026*dc5640d1SHerbert Xue <![CDATA[Gets the provider to which this binding is bound.]]> 2027*dc5640d1SHerbert Xue </doc> 2028*dc5640d1SHerbert Xue </method> 2029*dc5640d1SHerbert Xue <method name="getKey" return="java.lang.String" 2030*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 2031*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 2032*dc5640d1SHerbert Xue deprecated="not deprecated"> 2033*dc5640d1SHerbert Xue <doc> 2034*dc5640d1SHerbert Xue <![CDATA[Gets the binding key.]]> 2035*dc5640d1SHerbert Xue </doc> 2036*dc5640d1SHerbert Xue </method> 2037*dc5640d1SHerbert Xue <doc> 2038*dc5640d1SHerbert Xue <![CDATA[JMX interface to bindings. 2039*dc5640d1SHerbert Xue 2040*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 2041*dc5640d1SHerbert Xue </doc> 2042*dc5640d1SHerbert Xue </interface> 2043*dc5640d1SHerbert Xue <!-- end interface com.google.inject.tools.jmx.ManagedBindingMBean --> 2044*dc5640d1SHerbert Xue <!-- start class com.google.inject.tools.jmx.Manager --> 2045*dc5640d1SHerbert Xue <class name="Manager" extends="java.lang.Object" 2046*dc5640d1SHerbert Xue abstract="false" 2047*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 2048*dc5640d1SHerbert Xue deprecated="not deprecated"> 2049*dc5640d1SHerbert Xue <constructor name="Manager" 2050*dc5640d1SHerbert Xue static="false" final="false" visibility="public" 2051*dc5640d1SHerbert Xue deprecated="not deprecated"> 2052*dc5640d1SHerbert Xue </constructor> 2053*dc5640d1SHerbert Xue <method name="manage" 2054*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 2055*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 2056*dc5640d1SHerbert Xue deprecated="not deprecated"> 2057*dc5640d1SHerbert Xue <param name="domain" type="java.lang.String"/> 2058*dc5640d1SHerbert Xue <param name="injector" type="com.google.inject.Injector"/> 2059*dc5640d1SHerbert Xue <doc> 2060*dc5640d1SHerbert Xue <![CDATA[Registers all the bindings of an Injector with the platform MBean server. 2061*dc5640d1SHerbert Xue Consider using the name of your root {@link Module} class as the domain.]]> 2062*dc5640d1SHerbert Xue </doc> 2063*dc5640d1SHerbert Xue </method> 2064*dc5640d1SHerbert Xue <method name="manage" 2065*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 2066*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 2067*dc5640d1SHerbert Xue deprecated="not deprecated"> 2068*dc5640d1SHerbert Xue <param name="server" type="javax.management.MBeanServer"/> 2069*dc5640d1SHerbert Xue <param name="domain" type="java.lang.String"/> 2070*dc5640d1SHerbert Xue <param name="injector" type="com.google.inject.Injector"/> 2071*dc5640d1SHerbert Xue <doc> 2072*dc5640d1SHerbert Xue <![CDATA[Registers all the bindings of an Injector with the given MBean server. 2073*dc5640d1SHerbert Xue Consider using the name of your root {@link Module} class as the domain.]]> 2074*dc5640d1SHerbert Xue </doc> 2075*dc5640d1SHerbert Xue </method> 2076*dc5640d1SHerbert Xue <method name="main" 2077*dc5640d1SHerbert Xue abstract="false" native="false" synchronized="false" 2078*dc5640d1SHerbert Xue static="true" final="false" visibility="public" 2079*dc5640d1SHerbert Xue deprecated="not deprecated"> 2080*dc5640d1SHerbert Xue <param name="args" type="java.lang.String[]"/> 2081*dc5640d1SHerbert Xue <exception name="Exception" type="java.lang.Exception"/> 2082*dc5640d1SHerbert Xue <doc> 2083*dc5640d1SHerbert Xue <![CDATA[Run with no arguments for usage instructions.]]> 2084*dc5640d1SHerbert Xue </doc> 2085*dc5640d1SHerbert Xue </method> 2086*dc5640d1SHerbert Xue <doc> 2087*dc5640d1SHerbert Xue <![CDATA[Provides a JMX interface to Guice. 2088*dc5640d1SHerbert Xue 2089*dc5640d1SHerbert Xue @author [email protected] (Bob Lee)]]> 2090*dc5640d1SHerbert Xue </doc> 2091*dc5640d1SHerbert Xue </class> 2092*dc5640d1SHerbert Xue <!-- end class com.google.inject.tools.jmx.Manager --> 2093*dc5640d1SHerbert Xue</package> 2094*dc5640d1SHerbert Xue 2095*dc5640d1SHerbert Xue</api> 2096