| <!DOCTYPE html> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.ico" /> |
| <title> |
| |
| Provider |
| |
| |
| | Guice |
| |
| </title> |
| <link href="../../../../javadoc/assets/android-developer-docs.css" rel="stylesheet" type="text/css" /> |
| <link href="../../../../javadoc/assets/customizations.css" rel="stylesheet" type="text/css" /> |
| <script src="../../../../javadoc/assets/search_autocomplete.js" type="text/javascript"></script> |
| <script src="../../../../javadoc/assets/jquery-resizable.min.js" type="text/javascript"></script> |
| <script src="../../../../javadoc/assets/android-developer-docs.js" type="text/javascript"></script> |
| <script src="../../../../javadoc/assets/prettify.js" type="text/javascript"></script> |
| <script type="text/javascript"> |
| setToRoot("../../../", "../../../../javadoc/assets/"); |
| </script> |
| <script src="../../../../javadoc/assets/android-developer-reference.js" type="text/javascript"></script> |
| <script src="../../../../javadoc/assets/navtree_data.js" type="text/javascript"></script> |
| <script src="../../../../javadoc/assets/customizations.js" type="text/javascript"></script> |
| <noscript> |
| <style type="text/css"> |
| html,body{overflow:auto;} |
| #body-content{position:relative; top:0;} |
| #doc-content{overflow:visible;border-left:3px solid #666;} |
| #side-nav{padding:0;} |
| #side-nav .toggle-list ul {display:block;} |
| #resize-packages-nav{border-bottom:3px solid #666;} |
| </style> |
| </noscript> |
| </head> |
| |
| <body class="Guice_1.0"> |
| |
| <div id="header"> |
| <div id="headerLeft"> |
| |
| <span id="masthead-title">Guice</span> |
| |
| </div> |
| <div id="headerRight"> |
| |
| <div id="search" > |
| <div id="searchForm"> |
| <form accept-charset="utf-8" class="gsc-search-box" |
| onsubmit="return submit_search()"> |
| <table class="gsc-search-box" cellpadding="0" cellspacing="0"><tbody> |
| <tr> |
| <td class="gsc-input"> |
| <input id="search_autocomplete" class="gsc-input" type="text" size="33" autocomplete="off" |
| title="search developer docs" name="q" |
| value="search developer docs" |
| onFocus="search_focus_changed(this, true)" |
| onBlur="search_focus_changed(this, false)" |
| onkeydown="return search_changed(event, true, '../../../')" |
| onkeyup="return search_changed(event, false, '../../../')" /> |
| <div id="search_filtered_div" class="no-display"> |
| <table id="search_filtered" cellspacing=0> |
| </table> |
| </div> |
| </td> |
| <td class="gsc-search-button"> |
| <input type="submit" value="Search" title="search" id="search-button" class="gsc-search-button" /> |
| </td> |
| <td class="gsc-clear-button"> |
| <div title="clear results" class="gsc-clear-button"> </div> |
| </td> |
| </tr></tbody> |
| </table> |
| </form> |
| </div><!-- searchForm --> |
| </div><!-- search --> |
| |
| |
| <div id="api-level-toggle"> |
| <input type="checkbox" id="apiLevelCheckbox" onclick="toggleApiLevelSelector(this)" /> |
| <label for="apiLevelCheckbox" class="disabled">Filter by API Level: </label> |
| <select id="apiLevelSelector"> |
| <!-- option elements added by buildApiLevelSelector() --> |
| </select> |
| </div> |
| <script> |
| var SINCE_DATA = [ 'Guice_1.0', 'Guice_2.0', 'Guice_3.0', 'Guice_4.0' ]; |
| |
| var SINCE_LABELS = [ 'Guice_1.0', 'Guice_2.0', 'Guice_3.0', 'Guice_4.0' ]; |
| buildApiLevelSelector(); |
| addLoadEvent(changeApiLevel); |
| </script> |
| |
| |
| |
| </div> |
| </div><!-- header --> |
| |
| |
| <div class="g-section g-tpl-240" id="body-content"> |
| <div class="g-unit g-first side-nav-resizable" id="side-nav"> |
| <div id="swapper"> |
| <div id="nav-panels"> |
| <div id="resize-packages-nav"> |
| <div id="packages-nav"> |
| <div id="index-links"><nobr> |
| <a href="../../../packages.html" >Package Index</a> | |
| <a href="../../../classes.html" >Class Index</a></nobr> |
| </div> |
| <ul> |
| |
| <li class="selected api apilevel-Guice_1.0"> |
| <a href="../../../com/google/inject/package-summary.html">com.google.inject</a></li> |
| <li class="api apilevel-Guice_2.0"> |
| <a href="../../../com/google/inject/assistedinject/package-summary.html">com.google.inject.assistedinject</a></li> |
| <li class="api apilevel-Guice_1.0"> |
| <a href="../../../com/google/inject/binder/package-summary.html">com.google.inject.binder</a></li> |
| <li class="api apilevel-Guice_3.0"> |
| <a href="../../../com/google/inject/grapher/package-summary.html">com.google.inject.grapher</a></li> |
| <li class="api apilevel-Guice_3.0"> |
| <a href="../../../com/google/inject/grapher/graphviz/package-summary.html">com.google.inject.grapher.graphviz</a></li> |
| <li class="api apilevel-Guice_1.0"> |
| <a href="../../../com/google/inject/jndi/package-summary.html">com.google.inject.jndi</a></li> |
| <li class="api apilevel-Guice_1.0"> |
| <a href="../../../com/google/inject/matcher/package-summary.html">com.google.inject.matcher</a></li> |
| <li class="api apilevel-Guice_2.0"> |
| <a href="../../../com/google/inject/multibindings/package-summary.html">com.google.inject.multibindings</a></li> |
| <li class="api apilevel-Guice_1.0"> |
| <a href="../../../com/google/inject/name/package-summary.html">com.google.inject.name</a></li> |
| <li class="api apilevel-Guice_3.0"> |
| <a href="../../../com/google/inject/persist/package-summary.html">com.google.inject.persist</a></li> |
| <li class="api apilevel-Guice_3.0"> |
| <a href="../../../com/google/inject/persist/finder/package-summary.html">com.google.inject.persist.finder</a></li> |
| <li class="api apilevel-Guice_3.0"> |
| <a href="../../../com/google/inject/persist/jpa/package-summary.html">com.google.inject.persist.jpa</a></li> |
| <li class="api apilevel-Guice_1.0"> |
| <a href="../../../com/google/inject/servlet/package-summary.html">com.google.inject.servlet</a></li> |
| <li class="api apilevel-Guice_1.0"> |
| <a href="../../../com/google/inject/spi/package-summary.html">com.google.inject.spi</a></li> |
| <li class="api apilevel-Guice_2.0"> |
| <a href="../../../com/google/inject/spring/package-summary.html">com.google.inject.spring</a></li> |
| <li class="api apilevel-Guice_2.0"> |
| <a href="../../../com/google/inject/throwingproviders/package-summary.html">com.google.inject.throwingproviders</a></li> |
| <li class="api apilevel-Guice_1.0"> |
| <a href="../../../com/google/inject/tools/jmx/package-summary.html">com.google.inject.tools.jmx</a></li> |
| <li class="api apilevel-Guice_2.0"> |
| <a href="../../../com/google/inject/util/package-summary.html">com.google.inject.util</a></li> |
| </ul><br/> |
| </div> <!-- end packages --> |
| </div> <!-- end resize-packages --> |
| <div id="classes-nav"> |
| <ul> |
| |
| <li><h2>Interfaces</h2> |
| <ul> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Binder.html">Binder</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Binding.html">Binding</a><T></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Injector.html">Injector</a></li> |
| <li class="api apilevel-Guice_2.0"><a href="../../../com/google/inject/MembersInjector.html">MembersInjector</a><T></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Module.html">Module</a></li> |
| <li class="api apilevel-Guice_2.0"><a href="../../../com/google/inject/PrivateBinder.html">PrivateBinder</a></li> |
| <li class="selected api apilevel-Guice_1.0"><a href="../../../com/google/inject/Provider.html">Provider</a><T></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Scope.html">Scope</a></li> |
| </ul> |
| </li> |
| |
| <li><h2>Classes</h2> |
| <ul> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/AbstractModule.html">AbstractModule</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Guice.html">Guice</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Key.html">Key</a><T></li> |
| <li class="api apilevel-Guice_2.0"><a href="../../../com/google/inject/PrivateModule.html">PrivateModule</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Scopes.html">Scopes</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/TypeLiteral.html">TypeLiteral</a><T></li> |
| </ul> |
| </li> |
| |
| <li><h2>Annotations</h2> |
| <ul> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/BindingAnnotation.html">BindingAnnotation</a></li> |
| <li class="api apilevel-Guice_2.0"><a href="../../../com/google/inject/Exposed.html">Exposed</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/ImplementedBy.html">ImplementedBy</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Inject.html">Inject</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/ProvidedBy.html">ProvidedBy</a></li> |
| <li class="api apilevel-Guice_2.0"><a href="../../../com/google/inject/Provides.html">Provides</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/ScopeAnnotation.html">ScopeAnnotation</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Singleton.html">Singleton</a></li> |
| </ul> |
| </li> |
| |
| <li><h2>Enums</h2> |
| <ul> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Stage.html">Stage</a></li> |
| </ul> |
| </li> |
| |
| <li><h2>Exceptions</h2> |
| <ul> |
| <li class="api apilevel-Guice_2.0"><a href="../../../com/google/inject/ConfigurationException.html">ConfigurationException</a></li> |
| <li class="api apilevel-Guice_1.0"><a href="../../../com/google/inject/CreationException.html">CreationException</a></li> |
| <li class="api apilevel-Guice_2.0"><a href="../../../com/google/inject/OutOfScopeException.html">OutOfScopeException</a></li> |
| <li class="api apilevel-Guice_2.0"><a href="../../../com/google/inject/ProvisionException.html">ProvisionException</a></li> |
| </ul> |
| </li> |
| |
| </ul><br/> |
| </div><!-- end classes --> |
| </div><!-- end nav-panels --> |
| <div id="nav-tree" style="display:none"> |
| <div id="index-links"><nobr> |
| <a href="../../../packages.html" >Package Index</a> | |
| <a href="../../../classes.html" >Class Index</a></nobr> |
| </div> |
| </div><!-- end nav-tree --> |
| </div><!-- end swapper --> |
| </div> <!-- end side-nav --> |
| <script> |
| if (!isMobile) { |
| $("<a href='#' id='nav-swap' onclick='swapNav();return false;' style='font-size:10px;line-height:9px;margin-left:1em;text-decoration:none;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>").appendTo("#side-nav"); |
| chooseDefaultNav(); |
| if ($("#nav-tree").is(':visible')) { |
| init_default_navtree("../../../"); |
| } else { |
| addLoadEvent(function() { |
| scrollIntoView("packages-nav"); |
| scrollIntoView("classes-nav"); |
| }); |
| } |
| $("#swapper").css({borderBottom:"2px solid #aaa"}); |
| } else { |
| swapNav(); // tree view should be used on mobile |
| } |
| </script> |
| |
| |
| |
| <div class="g-unit" id="doc-content"> |
| |
| <div id="api-info-block"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <div class="sum-details-links"> |
| |
| Summary: |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href="#pubmethods">Methods</a> |
| |
| |
| |
| |
| | <a href="#inhmethods">Inherited Methods</a> |
| |
| | <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a> |
| |
| </div><!-- end sum-details-links --> |
| <div class="api-level"> |
| |
| |
| Since: <a href="../../../guide/appendix/api-levels.html#levelGuice_1.0">API Level Guice_1.0</a> |
| |
| |
| |
| |
| |
| </div> |
| </div><!-- end api-info-block --> |
| |
| |
| <!-- ======== START OF CLASS DATA ======== --> |
| |
| <div id="jd-header"> |
| public |
| |
| |
| |
| interface |
| <h1>Provider</h1> |
| |
| |
| |
| |
| |
| implements |
| |
| Provider<T> |
| |
| |
| |
| |
| |
| </div><!-- end header --> |
| |
| <div id="naMessage"></div> |
| |
| <div id="jd-content" class="api apilevel-Guice_1.0"> |
| <table class="jd-inheritance-table"> |
| |
| |
| <tr> |
| |
| <td colspan="1" class="jd-inheritance-class-cell">com.google.inject.Provider<T></td> |
| </tr> |
| |
| |
| </table> |
| |
| |
| |
| |
| |
| |
| <table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;"> |
| |
| <a href="#" onclick="return toggleInherited(this, null)" id="subclasses-indirect" class="jd-expando-trigger closed" |
| ><img id="subclasses-indirect-trigger" |
| src="../../../../javadoc/assets/images/triangle-closed.png" |
| class="jd-expando-trigger-img" /></a>Known Indirect Subclasses |
| |
| <div id="subclasses-indirect"> |
| <div id="subclasses-indirect-list" |
| class="jd-inheritedlinks" |
| |
| > |
| |
| |
| <a href="../../../com/google/inject/assistedinject/FactoryProvider.html">FactoryProvider</a><F>, |
| |
| <a href="../../../com/google/inject/spi/ProviderWithDependencies.html">ProviderWithDependencies</a><T>, |
| |
| <a href="../../../com/google/inject/spi/ProviderWithExtensionVisitor.html">ProviderWithExtensionVisitor</a><T> |
| |
| |
| </div> |
| <div id="subclasses-indirect-summary" |
| style="display: none;" |
| > |
| <table class="jd-sumtable-expando"> |
| <tr class="alt-color api apilevel-Guice_2.0" > |
| <td class="jd-linkcol"><a href="../../../com/google/inject/assistedinject/FactoryProvider.html">FactoryProvider</a><F></td> |
| <td class="jd-descrcol" width="100%"> |
| <em> |
| This class is deprecated. |
| use <code><a href="../../../com/google/inject/assistedinject/FactoryModuleBuilder.html">FactoryModuleBuilder</a></code> instead. |
| </em> </td> |
| </tr> |
| <tr class=" api apilevel-Guice_2.0" > |
| <td class="jd-linkcol"><a href="../../../com/google/inject/spi/ProviderWithDependencies.html">ProviderWithDependencies</a><T></td> |
| <td class="jd-descrcol" width="100%">A provider with dependencies on other injected types. </td> |
| </tr> |
| <tr class="alt-color api apilevel-Guice_3.0" > |
| <td class="jd-linkcol"><a href="../../../com/google/inject/spi/ProviderWithExtensionVisitor.html">ProviderWithExtensionVisitor</a><T></td> |
| <td class="jd-descrcol" width="100%">A Provider that is part of an extension which supports a custom |
| BindingTargetVisitor. </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| </td></tr></table> |
| |
| |
| <div class="jd-descr"> |
| |
| |
| <h2>Class Overview</h2> |
| <p>An object capable of providing instances of type <code>T</code>. Providers are used in numerous ways |
| by Guice: |
| |
| <ul> |
| <li>When the default means for obtaining instances (an injectable or parameterless constructor) |
| is insufficient for a particular binding, the module can specify a custom <code>Provider</code> |
| instead, to control exactly how Guice creates or obtains instances for the binding. |
| |
| <li>An implementation class may always choose to have a <code>Provider<T></code> instance injected, |
| rather than having a <code>T</code> injected directly. This may give you access to multiple |
| instances, instances you wish to safely mutate and discard, instances which are out of scope |
| (e.g. using a <code>@RequestScoped</code> object from within a <code>@SessionScoped</code> object), or |
| instances that will be initialized lazily. |
| |
| <li>A custom <code><a href="../../../com/google/inject/Scope.html">Scope</a></code> is implemented as a decorator of <code>Provider<T></code>, which decides |
| when to delegate to the backing provider and when to provide the instance some other way. |
| |
| <li>The <code><a href="../../../com/google/inject/Injector.html">Injector</a></code> offers access to the <code>Provider<T></code> it uses to fulfill requests |
| for a given key, via the <code><a href="../../../com/google/inject/Injector.html#getProvider(com.google.inject.Key<T>)">getProvider(Key<T>)</a></code> methods. |
| </ul></p> |
| |
| |
| |
| |
| |
| </div><!-- jd-descr --> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <div class="jd-descr"> |
| |
| |
| <h2>Summary</h2> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <!-- ========== METHOD SUMMARY =========== --> |
| <table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr> |
| |
| |
| |
| |
| <tr class="alt-color api apilevel-Guice_1.0" > |
| <td class="jd-typecol"><nobr> |
| abstract |
| |
| |
| |
| |
| T</nobr> |
| </td> |
| <td class="jd-linkcol" width="100%"><nobr> |
| <span class="sympad"><a href="../../../com/google/inject/Provider.html#get()">get</a></span>()</nobr> |
| |
| <div class="jd-descrdiv">Provides an instance of <code>T</code>.</div> |
| |
| </td></tr> |
| |
| |
| |
| </table> |
| |
| |
| |
| |
| |
| |
| |
| <!-- ========== METHOD SUMMARY =========== --> |
| <table id="inhmethods" class="jd-sumtable"><tr><th> |
| <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a> |
| <div style="clear:left;">Inherited Methods</div></th></tr> |
| |
| |
| <tr class="api apilevel-" > |
| <td colspan="12"> |
| <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-javax.inject.Provider" class="jd-expando-trigger closed" |
| ><img id="inherited-methods-javax.inject.Provider-trigger" |
| src="../../../../javadoc/assets/images/triangle-closed.png" |
| class="jd-expando-trigger-img" /></a> |
| From interface |
| |
| javax.inject.Provider |
| |
| <div id="inherited-methods-javax.inject.Provider"> |
| <div id="inherited-methods-javax.inject.Provider-list" |
| class="jd-inheritedlinks"> |
| </div> |
| <div id="inherited-methods-javax.inject.Provider-summary" style="display: none;"> |
| <table class="jd-sumtable-expando"> |
| |
| |
| |
| |
| <tr class="alt-color api apilevel-" > |
| <td class="jd-typecol"><nobr> |
| abstract |
| |
| |
| |
| |
| T</nobr> |
| </td> |
| <td class="jd-linkcol" width="100%"><nobr> |
| <span class="sympad">get</span>()</nobr> |
| |
| </td></tr> |
| |
| |
| </table> |
| </div> |
| </div> |
| </td></tr> |
| |
| |
| </table> |
| |
| |
| </div><!-- jd-descr (summary) --> |
| |
| <!-- Details --> |
| |
| |
| |
| |
| |
| |
| |
| |
| <!-- XML Attributes --> |
| |
| |
| <!-- Enum Values --> |
| |
| |
| <!-- Constants --> |
| |
| |
| <!-- Fields --> |
| |
| |
| <!-- Public ctors --> |
| |
| |
| |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <!-- Protected ctors --> |
| |
| |
| |
| <!-- ========= METHOD DETAIL ======== --> |
| <!-- Public methdos --> |
| |
| <h2>Public Methods</h2> |
| |
| |
| |
| <A NAME="get()"></A> |
| |
| <div class="jd-details api apilevel-Guice_1.0"> |
| <h4 class="jd-details-title"> |
| <span class="normal"> |
| public |
| |
| |
| abstract |
| |
| T |
| </span> |
| <span class="sympad">get</span> |
| <span class="normal">()</span> |
| </h4> |
| <div class="api-level"> |
| <div> |
| |
| Since: <a href="../../../guide/appendix/api-levels.html#levelGuice_1.0">API Level Guice_1.0</a> |
| |
| </div> |
| |
| |
| |
| </div> |
| <div class="jd-details-descr"> |
| |
| <div class="jd-tagdata jd-tagdescr"><p>Provides an instance of <code>T</code>. Must never return <code>null</code>.</p></div> |
| <div class="jd-tagdata"> |
| <h5 class="jd-tagtitle">Throws</h5> |
| <table class="jd-tagtable"> |
| <tr> |
| <th><a href="../../../com/google/inject/OutOfScopeException.html">OutOfScopeException</a></td> |
| <td>when an attempt is made to access a scoped object while the scope |
| in question is not currently active</td> |
| </tr> |
| <tr> |
| <th><a href="../../../com/google/inject/ProvisionException.html">ProvisionException</a></td> |
| <td>if an instance cannot be provided. Such exceptions include messages |
| and throwables to describe why provision failed. |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| </div> |
| </div> |
| |
| |
| |
| |
| |
| <!-- ========= METHOD DETAIL ======== --> |
| |
| |
| |
| <!-- ========= END OF CLASS DATA ========= --> |
| <A NAME="navbar_top"></A> |
| |
| <div id="footer"> |
| Generated by <a href="http://code.google.com/p/doclava/">Doclava</a>. |
| </div> <!-- end footer --> |
| |
| </div> <!-- jd-content --> |
| |
| </div><!-- end doc-content --> |
| |
| </div> <!-- end body-content --> |
| |
| <script type="text/javascript"> |
| init(); /* initialize android-developer-docs.js */ |
| </script> |
| |
| </body> |
| </html> |