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

  com.google.inject.jndi


| 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="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="selected 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>Classes</h2>
      <ul>
        <li class="api apilevel-Guice_1.0"><a href="../../../../com/google/inject/jndi/JndiIntegration.html">JndiIntegration</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="api-level">
  

  Since: <a href="../../../../guide/appendix/api-levels.html#levelGuice_1.0">API Level Guice_1.0</a>


  
  

</div>
</div>

<div id="jd-header">
  package
  <h1>com.google.inject.jndi</h1>
  <div class="jd-nav">
      
        Classes | <a class="jd-navlink" href="package-descr.html">Description</a>
      
  </div>
</div><!-- end header -->

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

<div id="jd-content" class="api apilevel-Guice_1.0">


  <div class="jd-descr">
  <p>JNDI integration; this extension requires <code>guice-jndi-3.0.jar</code>.</p>
    
  <p><span class="jd-more"><a href="package-descr.html">more...</a></span></p>
  
  </div>





  


  
    <h3>Classes</h3>
    <div class="jd-sumtable">
    
  <table class="jd-sumtable-expando">
        <tr class="alt-color api apilevel-Guice_1.0" >
              <td class="jd-linkcol"><a href="../../../../com/google/inject/jndi/JndiIntegration.html">JndiIntegration</a></td>
              <td class="jd-descrcol" width="100%">Integrates Guice with JNDI.&nbsp;</td>
          </tr>
  </table>
    </div>
  


  


  


  


<div id="footer">
Generated by <a href="http://code.google.com/p/doclava/">Doclava</a>.
</div> <!-- end footer -->

</div><!-- end jd-content -->
</div><!-- doc-content -->

</div> <!-- end body-content --> 

<script type="text/javascript">
init(); /* initialize android-developer-docs.js */
</script>

</body>
</html>
