
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
		<title>Apache Shiro 1.3.2 Reference Package org.apache.shiro.guice</title>
		<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="style" />
	</head>
	<body>
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
		
		      	<h2>Package org.apache.shiro.guice</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Class Summary</th>
          		</tr>
        	</thead>
        	<tbody>
        		            	<tr>
              		<td>
                		<a href="BeanTypeListenerTest.html" target="classFrame">BeanTypeListenerTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="DestroyableInjectionListenerTest.html" target="classFrame">DestroyableInjectionListenerTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="GuiceEnvironmentTest.html" target="classFrame">GuiceEnvironmentTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="InitializableInjectionListenerTest.html" target="classFrame">InitializableInjectionListenerTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="LifecycleTypeListenerTest.html" target="classFrame">LifecycleTypeListenerTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroMatchersTest.html" target="classFrame">MatchingClass</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroModuleTest.html" target="classFrame">MockRealm</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroModuleTest.html" target="classFrame">MyDefaultSecurityManager</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroModuleTest.html" target="classFrame">MyDefaultSessionManager</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroModuleTest.html" target="classFrame">MyDestroyable</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroModuleTest.html" target="classFrame">MyEnvironment</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="LifecycleTypeListenerTest.html" target="classFrame">MyInitializable</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroMatchersTest.html" target="classFrame">NotMatchingClass</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroMatchersTest.html" target="classFrame">ShiroMatchersTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroModuleTest.html" target="classFrame">ShiroModuleTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroSessionScopeTest.html" target="classFrame">ShiroSessionScopeTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="ShiroSessionScopeTest.html" target="classFrame">SomeClass</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="BeanTypeListenerTest.html" target="classFrame">SomeInjectableBean</a>
              		</td>
            	</tr>
				        	</tbody>
      	</table>
		
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
				<hr />
		Copyright &copy; 2004-2016 The Apache Software Foundation. All Rights Reserved.
	</body>
</html>