<!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>

  Provides


| 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_2.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' ];
    
    var SINCE_LABELS = [ 'Guice_1.0', 'Guice_2.0', 'Guice_3.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_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>&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_3.0"><a href="../../../com/google/inject/InjectorBuilder.html">InjectorBuilder</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="selected 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="#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_2.0">API Level Guice_2.0</a>


  
  

</div>
</div><!-- end api-info-block -->


<!-- ======== START OF CLASS DATA ======== -->

<div id="jd-header">
    public
     
     
    abstract
    @interface
<h1>Provides</h1>



  
  
      implements 
      
        Annotation 
      
  
  


</div><!-- end header -->

<div id="naMessage"></div>

<div id="jd-content" class="api apilevel-Guice_2.0">
<table class="jd-inheritance-table">


    <tr>
         	
        <td colspan="1" class="jd-inheritance-class-cell">com.google.inject.Provides</td>
    </tr>
    

</table>







<div class="jd-descr">


<h2>Class Overview</h2>
<p>Annotates methods of a <code><a href="../../../com/google/inject/Module.html">Module</a></code> to create a provider method binding. The method's return
 type is bound to it's returned value. Guice will pass dependencies to the method as parameters.</p>





</div><!-- jd-descr -->
















<div class="jd-descr">


<h2>Summary</h2>
































<!-- ========== 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-java.lang.annotation.Annotation" class="jd-expando-trigger closed"
          ><img id="inherited-methods-java.lang.annotation.Annotation-trigger"
          src="../../../../javadoc/assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From interface

  java.lang.annotation.Annotation

<div id="inherited-methods-java.lang.annotation.Annotation">
  <div id="inherited-methods-java.lang.annotation.Annotation-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-java.lang.annotation.Annotation-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            Class&lt;?&nbsp;extends&nbsp;Annotation&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">annotationType</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">equals</span>(Object arg0)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            int</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">hashCode</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">toString</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 -->



<!-- ========= 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>
