blob: da33fa042de00714df2d7967fa7279cbaf1995b6 [file] [log] [blame]
<!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>
ProvisionListener
| 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_4.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">&nbsp;</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_4.0' ];
var SINCE_LABELS = [ 'Guice_1.0', 'Guice_2.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="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_4.0">
<a href="../../../../com/google/inject/grapher/package-summary.html">com.google.inject.grapher</a></li>
<li class="api apilevel-Guice_4.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_4.0">
<a href="../../../../com/google/inject/persist/package-summary.html">com.google.inject.persist</a></li>
<li class="api apilevel-Guice_4.0">
<a href="../../../../com/google/inject/persist/finder/package-summary.html">com.google.inject.persist.finder</a></li>
<li class="api apilevel-Guice_4.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="selected 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_2.0"><a href="../../../../com/google/inject/spi/BindingScopingVisitor.html">BindingScopingVisitor</a>&lt;V&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/BindingTargetVisitor.html">BindingTargetVisitor</a>&lt;T,&nbsp;V&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ConstructorBinding.html">ConstructorBinding</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ConvertedConstantBinding.html">ConvertedConstantBinding</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/Element.html">Element</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ElementVisitor.html">ElementVisitor</a>&lt;V&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ExposedBinding.html">ExposedBinding</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/HasDependencies.html">HasDependencies</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/InjectionListener.html">InjectionListener</a>&lt;I&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/InstanceBinding.html">InstanceBinding</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/LinkedKeyBinding.html">LinkedKeyBinding</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/PrivateElements.html">PrivateElements</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ProviderBinding.html">ProviderBinding</a>&lt;T&nbsp;extends&nbsp;<a href="../../../../com/google/inject/Provider.html">Provider</a>&lt;?&gt;&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ProviderInstanceBinding.html">ProviderInstanceBinding</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ProviderKeyBinding.html">ProviderKeyBinding</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ProviderWithDependencies.html">ProviderWithDependencies</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/ProviderWithExtensionVisitor.html">ProviderWithExtensionVisitor</a>&lt;T&gt;</li>
<li class="selected api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/ProvisionListener.html">ProvisionListener</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/TypeConverter.html">TypeConverter</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/TypeEncounter.html">TypeEncounter</a>&lt;I&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/TypeListener.html">TypeListener</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/UntargettedBinding.html">UntargettedBinding</a>&lt;T&gt;</li>
</ul>
</li>
<li><h2>Classes</h2>
<ul>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/DefaultBindingScopingVisitor.html">DefaultBindingScopingVisitor</a>&lt;V&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/DefaultBindingTargetVisitor.html">DefaultBindingTargetVisitor</a>&lt;T,&nbsp;V&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/DefaultElementVisitor.html">DefaultElementVisitor</a>&lt;V&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/Dependency.html">Dependency</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/DependencyAndSource.html">DependencyAndSource</a></li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/DisableCircularProxiesOption.html">DisableCircularProxiesOption</a></li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/ElementSource.html">ElementSource</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/Elements.html">Elements</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/InjectionPoint.html">InjectionPoint</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/InjectionRequest.html">InjectionRequest</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/InterceptorBinding.html">InterceptorBinding</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/MembersInjectorLookup.html">MembersInjectorLookup</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_1.0"><a href="../../../../com/google/inject/spi/Message.html">Message</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ProviderLookup.html">ProviderLookup</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/ProvisionListener.ProvisionInvocation.html">ProvisionListener.ProvisionInvocation</a>&lt;T&gt;</li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/ProvisionListenerBinding.html">ProvisionListenerBinding</a></li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/RequireAtInjectOnConstructorsOption.html">RequireAtInjectOnConstructorsOption</a></li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/RequireExactBindingAnnotationsOption.html">RequireExactBindingAnnotationsOption</a></li>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/RequireExplicitBindingsOption.html">RequireExplicitBindingsOption</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/ScopeBinding.html">ScopeBinding</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/StaticInjectionRequest.html">StaticInjectionRequest</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/TypeConverterBinding.html">TypeConverterBinding</a></li>
<li class="api apilevel-Guice_2.0"><a href="../../../../com/google/inject/spi/TypeListenerBinding.html">TypeListenerBinding</a></li>
</ul>
</li>
<li><h2>Annotations</h2>
<ul>
<li class="api apilevel-Guice_4.0"><a href="../../../../com/google/inject/spi/Toolable.html">Toolable</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">
</div><!-- end sum-details-links -->
<div class="api-level">
Since: <a href="../../../../guide/appendix/api-levels.html#levelGuice_4.0">API Level Guice_4.0</a>
</div>
</div><!-- end api-info-block -->
<!-- ======== START OF CLASS DATA ======== -->
<div id="jd-header">
public
interface
<h1>ProvisionListener</h1>
</div><!-- end header -->
<div id="naMessage"></div>
<div id="jd-content" class="api apilevel-Guice_4.0">
<table class="jd-inheritance-table">
<tr>
<td colspan="1" class="jd-inheritance-class-cell">com.google.inject.spi.ProvisionListener</td>
</tr>
</table>
<div class="jd-descr">
<h2>Class Overview</h2>
<p>Listens for provisioning of objects. Useful for gathering timing information
about provisioning, post-provision initialization, and more.</p>
</div><!-- jd-descr -->
<div class="jd-descr">
<h2>Summary</h2>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
<tr class="alt-color api apilevel-Guice_4.0" >
<td class="jd-typecol"><nobr>
class</nobr></td>
<td class="jd-linkcol"><a href="../../../../com/google/inject/spi/ProvisionListener.ProvisionInvocation.html">ProvisionListener.ProvisionInvocation</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">Encapsulates a single act of provisioning.&nbsp;</td>
</tr>
<!-- ========== METHOD SUMMARY =========== -->
<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
<tr class="alt-color api apilevel-Guice_4.0" >
<td class="jd-typecol"><nobr>
abstract
&lt;T&gt;
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../../com/google/inject/spi/ProvisionListener.html#onProvision(com.google.inject.spi.ProvisionListener.ProvisionInvocation<T>)">onProvision</a></span>(<a href="../../../../com/google/inject/spi/ProvisionListener.ProvisionInvocation.html">ProvisionInvocation</a>&lt;T&gt; provision)</nobr>
<div class="jd-descrdiv">Invoked by Guice when an object requires provisioning.</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="onProvision(com.google.inject.spi.ProvisionListener.ProvisionInvocation<T>)"></A>
<div class="jd-details api apilevel-Guice_4.0">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
void
</span>
<span class="sympad">onProvision</span>
<span class="normal">(<a href="../../../../com/google/inject/spi/ProvisionListener.ProvisionInvocation.html">ProvisionInvocation</a>&lt;T&gt; provision)</span>
</h4>
<div class="api-level">
<div>
Since: <a href="../../../../guide/appendix/api-levels.html#levelGuice_4.0">API Level Guice_4.0</a>
</div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Invoked by Guice when an object requires provisioning. Provisioning occurs
when Guice locates and injects the dependencies for a binding. For types
bound to a Provider, provisioning encapsulates the <code><a href="../../../../com/google/inject/Provider.html#get()">get()</a></code>
method. For toInstance or constant bindings, provisioning encapsulates
the injecting of @<code>Inject</code>ed fields or methods.
For other types, provisioning encapsulates the construction of the
object. If a type is bound within a <code><a href="../../../../com/google/inject/Scope.html">Scope</a></code>, provisioning depends on
the scope. Types bound in Singleton scope will only be provisioned once.
Types bound in no scope will be provisioned every time they are injected.
Other scopes define their own behavior for provisioning.
<p>
To perform the provision, call <code><a href="../../../../com/google/inject/spi/ProvisionListener.ProvisionInvocation.html#provision()">provision()</a></code>.
If you do not explicitly call provision, it will be automatically done after
this method returns. It is an error to call provision more than once.
</p></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>