blob: ca8abc43492d55014c803cffa1e8371336ee6eb9 [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>
Binding
| 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">&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_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="selected api apilevel-Guice_1.0"><a href="../../../com/google/inject/Binding.html">Binding</a>&lt;T&gt;</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>&lt;T&gt;</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="api apilevel-Guice_1.0"><a href="../../../com/google/inject/Provider.html">Provider</a>&lt;T&gt;</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>&lt;T&gt;</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>&lt;T&gt;</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>
&#124; <a href="#inhmethods">Inherited Methods</a>
&#124; <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>Binding</h1>
implements
<a href="../../../com/google/inject/spi/Element.html">Element</a>
</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.Binding&lt;T&gt;</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/spi/ConstructorBinding.html">ConstructorBinding</a>&lt;T&gt;,
<a href="../../../com/google/inject/spi/ConvertedConstantBinding.html">ConvertedConstantBinding</a>&lt;T&gt;,
<a href="../../../com/google/inject/spi/ExposedBinding.html">ExposedBinding</a>&lt;T&gt;,
<a href="../../../com/google/inject/spi/InstanceBinding.html">InstanceBinding</a>&lt;T&gt;,
<a href="../../../com/google/inject/spi/LinkedKeyBinding.html">LinkedKeyBinding</a>&lt;T&gt;,
<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;,
<a href="../../../com/google/inject/spi/ProviderInstanceBinding.html">ProviderInstanceBinding</a>&lt;T&gt;,
<a href="../../../com/google/inject/spi/ProviderKeyBinding.html">ProviderKeyBinding</a>&lt;T&gt;,
<a href="../../../com/google/inject/spi/UntargettedBinding.html">UntargettedBinding</a>&lt;T&gt;
</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/spi/ConstructorBinding.html">ConstructorBinding</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">A binding to the constructor of a concrete clss.&nbsp;</td>
</tr>
<tr class=" api apilevel-Guice_2.0" >
<td class="jd-linkcol"><a href="../../../com/google/inject/spi/ConvertedConstantBinding.html">ConvertedConstantBinding</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">A binding created from converting a bound instance to a new type.&nbsp;</td>
</tr>
<tr class="alt-color api apilevel-Guice_2.0" >
<td class="jd-linkcol"><a href="../../../com/google/inject/spi/ExposedBinding.html">ExposedBinding</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">A binding to a key exposed from an enclosed private environment.&nbsp;</td>
</tr>
<tr class=" api apilevel-Guice_2.0" >
<td class="jd-linkcol"><a href="../../../com/google/inject/spi/InstanceBinding.html">InstanceBinding</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">A binding to a single instance.&nbsp;</td>
</tr>
<tr class="alt-color api apilevel-Guice_2.0" >
<td class="jd-linkcol"><a href="../../../com/google/inject/spi/LinkedKeyBinding.html">LinkedKeyBinding</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">A binding to a linked key.&nbsp;</td>
</tr>
<tr class=" api apilevel-Guice_2.0" >
<td class="jd-linkcol"><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;</td>
<td class="jd-descrcol" width="100%">A binding to a <code><a href="../../../com/google/inject/Provider.html">Provider</a></code> that delegates to the binding for the provided type.&nbsp;</td>
</tr>
<tr class="alt-color api apilevel-Guice_2.0" >
<td class="jd-linkcol"><a href="../../../com/google/inject/spi/ProviderInstanceBinding.html">ProviderInstanceBinding</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">A binding to a provider instance.&nbsp;</td>
</tr>
<tr class=" api apilevel-Guice_2.0" >
<td class="jd-linkcol"><a href="../../../com/google/inject/spi/ProviderKeyBinding.html">ProviderKeyBinding</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">A binding to a provider key.&nbsp;</td>
</tr>
<tr class="alt-color api apilevel-Guice_2.0" >
<td class="jd-linkcol"><a href="../../../com/google/inject/spi/UntargettedBinding.html">UntargettedBinding</a>&lt;T&gt;</td>
<td class="jd-descrcol" width="100%">An untargetted binding.&nbsp;</td>
</tr>
</table>
</div>
</div>
</td></tr></table>
<div class="jd-descr">
<h2>Class Overview</h2>
<p>A mapping from a key (type and optional annotation) to the strategy for getting instances of the
type. This interface is part of the introspection API and is intended primarily for use by
tools.
<p>Bindings are created in several ways:
<ul>
<li>Explicitly in a module, via <code>bind()</code> and <code>bindConstant()</code>
statements:
<pre>
bind(Service.class).annotatedWith(Red.class).to(ServiceImpl.class);
bindConstant().annotatedWith(ServerHost.class).to(args[0]);</pre></li>
<li>Implicitly by the Injector by following a type's <code><a href="../../../com/google/inject/ImplementedBy.html">pointer</a></code> <code><a href="../../../com/google/inject/ProvidedBy.html">annotations</a></code> or by using its <code><a href="../../../com/google/inject/Inject.html">annotated</a></code> or
default constructor.</li>
<li>By converting a bound instance to a different type.</li>
<li>For <code><a href="../../../com/google/inject/Provider.html">providers</a></code>, by delegating to the binding for the provided type.</li>
</ul>
<p>They exist on both modules and on injectors, and their behaviour is different for each:
<ul>
<li><strong>Module bindings</strong> are incomplete and cannot be used to provide instances.
This is because the applicable scopes and interceptors may not be known until an injector
is created. From a tool's perspective, module bindings are like the injector's source
code. They can be inspected or rewritten, but this analysis must be done statically.</li>
<li><strong>Injector bindings</strong> are complete and valid and can be used to provide
instances. From a tools' perspective, injector bindings are like reflection for an
injector. They have full runtime information, including the complete graph of injections
necessary to satisfy a binding.</li>
</ul></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_2.0" >
<td class="jd-typecol"><nobr>
abstract
&lt;V&gt;
V</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../com/google/inject/Binding.html#acceptScopingVisitor(com.google.inject.spi.BindingScopingVisitor<V>)">acceptScopingVisitor</a></span>(<a href="../../../com/google/inject/spi/BindingScopingVisitor.html">BindingScopingVisitor</a>&lt;V&gt; visitor)</nobr>
<div class="jd-descrdiv">Accepts a scoping visitor.</div>
</td></tr>
<tr class=" api apilevel-Guice_2.0" >
<td class="jd-typecol"><nobr>
abstract
&lt;V&gt;
V</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../com/google/inject/Binding.html#acceptTargetVisitor(com.google.inject.spi.BindingTargetVisitor<? super T, V>)">acceptTargetVisitor</a></span>(<a href="../../../com/google/inject/spi/BindingTargetVisitor.html">BindingTargetVisitor</a>&lt;?&nbsp;super&nbsp;T,&nbsp;V&gt; visitor)</nobr>
<div class="jd-descrdiv">Accepts a target visitor.</div>
</td></tr>
<tr class="alt-color api apilevel-Guice_1.0" >
<td class="jd-typecol"><nobr>
abstract
<a href="../../../com/google/inject/Key.html">Key</a>&lt;T&gt;</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../com/google/inject/Binding.html#getKey()">getKey</a></span>()</nobr>
<div class="jd-descrdiv">Returns the key for this binding.</div>
</td></tr>
<tr class=" api apilevel-Guice_1.0" >
<td class="jd-typecol"><nobr>
abstract
<a href="../../../com/google/inject/Provider.html">Provider</a>&lt;T&gt;</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../com/google/inject/Binding.html#getProvider()">getProvider</a></span>()</nobr>
<div class="jd-descrdiv">Returns the scoped provider guice uses to fulfill requests for this
binding.</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-com.google.inject.spi.Element" class="jd-expando-trigger closed"
><img id="inherited-methods-com.google.inject.spi.Element-trigger"
src="../../../../javadoc/assets/images/triangle-closed.png"
class="jd-expando-trigger-img" /></a>
From interface
<a href="../../../com/google/inject/spi/Element.html">com.google.inject.spi.Element</a>
<div id="inherited-methods-com.google.inject.spi.Element">
<div id="inherited-methods-com.google.inject.spi.Element-list"
class="jd-inheritedlinks">
</div>
<div id="inherited-methods-com.google.inject.spi.Element-summary" style="display: none;">
<table class="jd-sumtable-expando">
<tr class="alt-color api apilevel-Guice_2.0" >
<td class="jd-typecol"><nobr>
abstract
&lt;T&gt;
T</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../com/google/inject/spi/Element.html#acceptVisitor(com.google.inject.spi.ElementVisitor<T>)">acceptVisitor</a></span>(<a href="../../../com/google/inject/spi/ElementVisitor.html">ElementVisitor</a>&lt;T&gt; visitor)</nobr>
<div class="jd-descrdiv">Accepts an element visitor.</div>
</td></tr>
<tr class=" api apilevel-Guice_2.0" >
<td class="jd-typecol"><nobr>
abstract
void</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../com/google/inject/spi/Element.html#applyTo(com.google.inject.Binder)">applyTo</a></span>(<a href="../../../com/google/inject/Binder.html">Binder</a> binder)</nobr>
<div class="jd-descrdiv">Writes this module element to the given binder (optional operation).</div>
</td></tr>
<tr class="alt-color api apilevel-Guice_2.0" >
<td class="jd-typecol"><nobr>
abstract
Object</nobr>
</td>
<td class="jd-linkcol" width="100%"><nobr>
<span class="sympad"><a href="../../../com/google/inject/spi/Element.html#getSource()">getSource</a></span>()</nobr>
<div class="jd-descrdiv">Returns an arbitrary object containing information about the "place" where this element was
configured.</div>
</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="acceptScopingVisitor(com.google.inject.spi.BindingScopingVisitor<V>)"></A>
<div class="jd-details api apilevel-Guice_2.0">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
V
</span>
<span class="sympad">acceptScopingVisitor</span>
<span class="normal">(<a href="../../../com/google/inject/spi/BindingScopingVisitor.html">BindingScopingVisitor</a>&lt;V&gt; visitor)</span>
</h4>
<div class="api-level">
<div>
Since: <a href="../../../guide/appendix/api-levels.html#levelGuice_2.0">API Level Guice_2.0</a>
</div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Accepts a scoping visitor. Invokes the visitor method specific to this binding's scoping.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>visitor</td>
<td>to call back on</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="acceptTargetVisitor(com.google.inject.spi.BindingTargetVisitor<? super T, V>)"></A>
<div class="jd-details api apilevel-Guice_2.0">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
V
</span>
<span class="sympad">acceptTargetVisitor</span>
<span class="normal">(<a href="../../../com/google/inject/spi/BindingTargetVisitor.html">BindingTargetVisitor</a>&lt;?&nbsp;super&nbsp;T,&nbsp;V&gt; visitor)</span>
</h4>
<div class="api-level">
<div>
Since: <a href="../../../guide/appendix/api-levels.html#levelGuice_2.0">API Level Guice_2.0</a>
</div>
</div>
<div class="jd-details-descr">
<div class="jd-tagdata jd-tagdescr"><p>Accepts a target visitor. Invokes the visitor method specific to this binding's target.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Parameters</h5>
<table class="jd-tagtable">
<tr>
<th>visitor</td>
<td>to call back on</td>
</tr>
</table>
</div>
</div>
</div>
<A NAME="getKey()"></A>
<div class="jd-details api apilevel-Guice_1.0">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
<a href="../../../com/google/inject/Key.html">Key</a>&lt;T&gt;
</span>
<span class="sympad">getKey</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>Returns the key for this binding.
</p></div>
</div>
</div>
<A NAME="getProvider()"></A>
<div class="jd-details api apilevel-Guice_1.0">
<h4 class="jd-details-title">
<span class="normal">
public
abstract
<a href="../../../com/google/inject/Provider.html">Provider</a>&lt;T&gt;
</span>
<span class="sympad">getProvider</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>Returns the scoped provider guice uses to fulfill requests for this
binding.</p></div>
<div class="jd-tagdata">
<h5 class="jd-tagtitle">Throws</h5>
<table class="jd-tagtable">
<tr>
<th>UnsupportedOperationException</td>
<td>when invoked on a <code><a href="../../../com/google/inject/Binding.html">Binding</a></code>
created via <code><a href="../../../com/google/inject/spi/Elements.html#getElements(com.google.inject.Module...)">getElements(Module...)</a></code>. This
method is only supported on <code><a href="../../../com/google/inject/Binding.html">Binding</a></code>s returned from an injector.
</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>