blob: 833ccc3475e4469b37fd5d5e1b5040cd9dcd5f9d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_65) on Fri Mar 04 17:58:57 EST 2016 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
ShiroFilterFactoryBean (Apache Shiro 1.2.4 API)
</TITLE>
<META NAME="date" CONTENT="2016-03-04">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ShiroFilterFactoryBean (Apache Shiro 1.2.4 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ShiroFilterFactoryBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/shiro/spring/web/ShiroFilterFactoryBean.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ShiroFilterFactoryBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.shiro.spring.web</FONT>
<BR>
Class ShiroFilterFactoryBean</H2>
<PRE>
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.shiro.spring.web.ShiroFilterFactoryBean</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.FactoryBean</DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.116"><B>ShiroFilterFactoryBean</B></A><DT>extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.config.BeanPostProcessor</DL>
</PRE>
<P>
<CODE>FactoryBean</CODE> to be used in Spring-based web applications for
defining the master Shiro Filter.
<h4>Usage</h4>
Declare a DelegatingFilterProxy in <code>web.xml</code>, matching the filter name to the bean id:
<pre>
&lt;filter&gt;
&lt;filter-name&gt;<b>shiroFilter</b>&lt;/filter-name&gt;
&lt;filter-class&gt;org.springframework.web.filter.DelegatingFilterProxy&lt;filter-class&gt;
&lt;init-param&gt;
&lt;param-name&gt;targetFilterLifecycle&lt;/param-name&gt;
&lt;param-value&gt;true&lt;/param-value&gt;
&lt;/init-param&gt;
&lt;/filter&gt;
</pre>
Then, in your spring XML file that defines your web ApplicationContext:
<pre>
&lt;bean id="<b>shiroFilter</b>" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"&gt;
&lt;property name="securityManager" ref="securityManager"/&gt;
&lt;!-- other properties as necessary ... --&gt;
&lt;/bean&gt;
</pre>
<h4>Filter Auto-Discovery</h4>
While there is a <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>filters</CODE></A> property that allows you to assign a filter beans
to the 'pool' of filters available when defining <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitions(java.lang.String)"><CODE>filter chains</CODE></A>, it is
optional.
<p/>
This implementation is also a <CODE>BeanPostProcessor</CODE> and will acquire
any <A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet"><CODE>Filter</CODE></A> beans defined independently in your Spring application context. Upon
discovery, they will be automatically added to the <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>map</CODE></A> keyed by the bean ID.
That ID can then be used in the filter chain definitions, for example:
<pre>
&lt;bean id="<b>myCustomFilter</b>" class="com.class.that.implements.javax.servlet.Filter"/&gt;
...
&lt;bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"&gt;
...
&lt;property name="filterChainDefinitions"&gt;
&lt;value&gt;
/some/path/** = authc, <b>myCustomFilter</b>
&lt;/value&gt;
&lt;/property&gt;
&lt;/bean&gt;
</pre>
<h4>Global Property Values</h4>
Most Shiro servlet Filter implementations exist for defining custom Filter
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitions(java.lang.String)"><CODE>chain definitions</CODE></A>. Most implementations subclass one of the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter"><CODE>AccessControlFilter</CODE></A>, <A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A>, <A HREF="../../../../../org/apache/shiro/web/filter/authz/AuthorizationFilter.html" title="class in org.apache.shiro.web.filter.authz"><CODE>AuthorizationFilter</CODE></A> classes to simplify things,
and each of these 3 classes has configurable properties that are application-specific.
<p/>
A dilemma arises where, if you want to for example set the application's 'loginUrl' for any Filter, you don't want
to have to manually specify that value for <em>each</em> filter instance definied.
<p/>
To prevent configuration duplication, this implementation provides the following properties to allow you
to set relevant values in only one place:
<ul>
<li><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setLoginUrl(java.lang.String)"><CODE>setLoginUrl(String)</CODE></A></li>
<li><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setSuccessUrl(java.lang.String)"><CODE>setSuccessUrl(String)</CODE></A></li>
<li><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setUnauthorizedUrl(java.lang.String)"><CODE>setUnauthorizedUrl(String)</CODE></A></li>
</ul>
Then at startup, any values specified via these 3 properties will be applied to all configured
Filter instances so you don't have to specify them individually on each filter instance. To ensure your own custom
filters benefit from this convenience, your filter implementation should subclass one of the 3 mentioned
earlier.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.0</DD>
<DT><B>See Also:</B><DD><CODE>DelegatingFilterProxy</CODE></DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#ShiroFilterFactoryBean()">ShiroFilterFactoryBean</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainManager.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#createFilterChainManager()">createFilterChainManager</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html" title="class in org.apache.shiro.web.servlet">AbstractShiroFilter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#createInstance()">createInstance</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This implementation:
Ensures the required <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><CODE>securityManager</CODE></A>
property has been set
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#createFilterChainManager()"><CODE>Creates</CODE></A> a <A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainManager.html" title="interface in org.apache.shiro.web.filter.mgt"><CODE>FilterChainManager</CODE></A> instance that reflects the
configured <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>filters</CODE></A> and
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitionMap(java.util.Map)"><CODE>filter chain definitions</CODE></A>
Wraps the FilterChainManager with a suitable
<A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt"><CODE>FilterChainResolver</CODE></A> since the Shiro Filter
implementations do not know of <code>FilterChainManager</code>s
Sets both the <code>SecurityManager</code> and <code>FilterChainResolver</code> instances on a new Shiro Filter
instance and returns that filter instance.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#getFilterChainDefinitionMap()">getFilterChainDefinitionMap</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the chainName-to-chainDefinition map of chain definitions to use for creating filter chains intercepted
by the Shiro Filter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet">Filter</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#getFilters()">getFilters</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the filterName-to-Filter map of filters available for reference when defining filter chain definitions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#getLoginUrl()">getLoginUrl</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the application's login URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter"><CODE>AccessControlFilter</CODE></A> or <code>null</code> if no value should be assigned globally.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#getObject()">getObject</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lazily creates and returns a <A HREF="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html" title="class in org.apache.shiro.web.servlet"><CODE>AbstractShiroFilter</CODE></A> concrete instance via the
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#createInstance()"><CODE>createInstance()</CODE></A> method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#getObjectType()">getObjectType</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code><A HREF="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html" title="class in org.apache.shiro.web.servlet"><CODE>AbstractShiroFilter</CODE></A>.class</code></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#getSecurityManager()">getSecurityManager</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the application <code>SecurityManager</code> instance to be used by the constructed Shiro Filter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#getSuccessUrl()">getSuccessUrl</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the application's after-login success URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A> or <code>null</code> if no value should be assigned globally.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#getUnauthorizedUrl()">getUnauthorizedUrl</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the application's after-login success URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A> or <code>null</code> if no value should be assigned globally.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#isSingleton()">isSingleton</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> always.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#postProcessAfterInitialization(java.lang.Object, java.lang.String)">postProcessAfterInitialization</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;bean,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;beanName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing - only exists to satisfy the BeanPostProcessor interface and immediately returns the
<code>bean</code> argument.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#postProcessBeforeInitialization(java.lang.Object, java.lang.String)">postProcessBeforeInitialization</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;bean,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;beanName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inspects a bean, and if it implements the <A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet"><CODE>Filter</CODE></A> interface, automatically adds that filter
instance to the internal <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>filters map</CODE></A> that will be referenced
later during filter chain construction.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitionMap(java.util.Map)">setFilterChainDefinitionMap</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;&nbsp;filterChainDefinitionMap)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the chainName-to-chainDefinition map of chain definitions to use for creating filter chains intercepted
by the Shiro Filter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitions(java.lang.String)">setFilterChainDefinitions</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;definitions)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A convenience method that sets the <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitionMap(java.util.Map)"><CODE>filterChainDefinitionMap</CODE></A>
property by accepting a <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><CODE>Properties</CODE></A>-compatible string (multi-line key/value pairs).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)">setFilters</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet">Filter</A>&gt;&nbsp;filters)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the filterName-to-Filter map of filters available for reference when creating
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitionMap(java.util.Map)"><CODE>filter chain definitions</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setLoginUrl(java.lang.String)">setLoginUrl</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;loginUrl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the application's login URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter"><CODE>AccessControlFilter</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)">setSecurityManager</A></B>(<A HREF="../../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</A>&nbsp;securityManager)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the application <code>SecurityManager</code> instance to be used by the constructed Shiro Filter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setSuccessUrl(java.lang.String)">setSuccessUrl</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;successUrl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the application's after-login success URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setUnauthorizedUrl(java.lang.String)">setUnauthorizedUrl</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;unauthorizedUrl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the application's 'unauthorized' URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authz/AuthorizationFilter.html" title="class in org.apache.shiro.web.filter.authz"><CODE>AuthorizationFilter</CODE></A>.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ShiroFilterFactoryBean()"><!-- --></A><H3>
ShiroFilterFactoryBean</H3>
<PRE>
public <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.132"><B>ShiroFilterFactoryBean</B></A>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getSecurityManager()"><!-- --></A><H3>
getSecurityManager</H3>
<PRE>
public <A HREF="../../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.143"><B>getSecurityManager</B></A>()</PRE>
<DL>
<DD>Sets the application <code>SecurityManager</code> instance to be used by the constructed Shiro Filter. This is a
required property - failure to set it will throw an initialization exception.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the application <code>SecurityManager</code> instance to be used by the constructed Shiro Filter.</DL>
</DD>
</DL>
<HR>
<A NAME="setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><!-- --></A><H3>
setSecurityManager</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.153"><B>setSecurityManager</B></A>(<A HREF="../../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</A>&nbsp;securityManager)</PRE>
<DL>
<DD>Sets the application <code>SecurityManager</code> instance to be used by the constructed Shiro Filter. This is a
required property - failure to set it will throw an initialization exception.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>securityManager</CODE> - the application <code>SecurityManager</code> instance to be used by the constructed Shiro Filter.</DL>
</DD>
</DL>
<HR>
<A NAME="getLoginUrl()"><!-- --></A><H3>
getLoginUrl</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.166"><B>getLoginUrl</B></A>()</PRE>
<DL>
<DD>Returns the application's login URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter"><CODE>AccessControlFilter</CODE></A> or <code>null</code> if no value should be assigned globally. The default value
is <code>null</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the application's login URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter"><CODE>AccessControlFilter</CODE></A> or <code>null</code> if no value should be assigned globally.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setLoginUrl(java.lang.String)"><CODE>setLoginUrl(java.lang.String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setLoginUrl(java.lang.String)"><!-- --></A><H3>
setLoginUrl</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.185"><B>setLoginUrl</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;loginUrl)</PRE>
<DL>
<DD>Sets the application's login URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter"><CODE>AccessControlFilter</CODE></A>. This is a convenience mechanism: for all configured <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>filters</CODE></A>,
as well for any default ones (<code>authc</code>, <code>user</code>, etc), this value will be passed on to each Filter
via the <A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#setLoginUrl(java.lang.String)"><CODE>AccessControlFilter.setLoginUrl(String)</CODE></A> method<b>*</b>. This eliminates the need to
configure the 'loginUrl' property manually on each filter instance, and instead that can be configured once
via this attribute.
<p/>
<b>*</b>If a filter already has already been explicitly configured with a value, it will
<em>not</em> receive this value. Individual filter configuration overrides this global convenience property.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>loginUrl</CODE> - the application's login URL to apply to as a convenience to all discovered
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter"><CODE>AccessControlFilter</CODE></A> instances.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#setLoginUrl(java.lang.String)"><CODE>AccessControlFilter.setLoginUrl(String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getSuccessUrl()"><!-- --></A><H3>
getSuccessUrl</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.198"><B>getSuccessUrl</B></A>()</PRE>
<DL>
<DD>Returns the application's after-login success URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A> or <code>null</code> if no value should be assigned globally. The default value
is <code>null</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the application's after-login success URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A> or <code>null</code> if no value should be assigned globally.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setSuccessUrl(java.lang.String)"><CODE>setSuccessUrl(java.lang.String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setSuccessUrl(java.lang.String)"><!-- --></A><H3>
setSuccessUrl</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.217"><B>setSuccessUrl</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;successUrl)</PRE>
<DL>
<DD>Sets the application's after-login success URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A>. This is a convenience mechanism: for all configured <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>filters</CODE></A>,
as well for any default ones (<code>authc</code>, <code>user</code>, etc), this value will be passed on to each Filter
via the <A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html#setSuccessUrl(java.lang.String)"><CODE>AuthenticationFilter.setSuccessUrl(String)</CODE></A> method<b>*</b>. This eliminates the need to
configure the 'successUrl' property manually on each filter instance, and instead that can be configured once
via this attribute.
<p/>
<b>*</b>If a filter already has already been explicitly configured with a value, it will
<em>not</em> receive this value. Individual filter configuration overrides this global convenience property.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>successUrl</CODE> - the application's after-login success URL to apply to as a convenience to all discovered
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter"><CODE>AccessControlFilter</CODE></A> instances.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html#setSuccessUrl(java.lang.String)"><CODE>AuthenticationFilter.setSuccessUrl(String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getUnauthorizedUrl()"><!-- --></A><H3>
getUnauthorizedUrl</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.230"><B>getUnauthorizedUrl</B></A>()</PRE>
<DL>
<DD>Returns the application's after-login success URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A> or <code>null</code> if no value should be assigned globally. The default value
is <code>null</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the application's after-login success URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc"><CODE>AuthenticationFilter</CODE></A> or <code>null</code> if no value should be assigned globally.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setSuccessUrl(java.lang.String)"><CODE>setSuccessUrl(java.lang.String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setUnauthorizedUrl(java.lang.String)"><!-- --></A><H3>
setUnauthorizedUrl</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.249"><B>setUnauthorizedUrl</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;unauthorizedUrl)</PRE>
<DL>
<DD>Sets the application's 'unauthorized' URL to be assigned to all acquired Filters that subclass
<A HREF="../../../../../org/apache/shiro/web/filter/authz/AuthorizationFilter.html" title="class in org.apache.shiro.web.filter.authz"><CODE>AuthorizationFilter</CODE></A>. This is a convenience mechanism: for all configured <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>filters</CODE></A>,
as well for any default ones (<code>roles</code>, <code>perms</code>, etc), this value will be passed on to each Filter
via the <A HREF="../../../../../org/apache/shiro/web/filter/authz/AuthorizationFilter.html#setUnauthorizedUrl(java.lang.String)"><CODE>AuthorizationFilter.setUnauthorizedUrl(String)</CODE></A> method<b>*</b>. This eliminates the need to
configure the 'unauthorizedUrl' property manually on each filter instance, and instead that can be configured once
via this attribute.
<p/>
<b>*</b>If a filter already has already been explicitly configured with a value, it will
<em>not</em> receive this value. Individual filter configuration overrides this global convenience property.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>unauthorizedUrl</CODE> - the application's 'unauthorized' URL to apply to as a convenience to all discovered
<A HREF="../../../../../org/apache/shiro/web/filter/authz/AuthorizationFilter.html" title="class in org.apache.shiro.web.filter.authz"><CODE>AuthorizationFilter</CODE></A> instances.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/shiro/web/filter/authz/AuthorizationFilter.html#setUnauthorizedUrl(java.lang.String)"><CODE>AuthorizationFilter.setUnauthorizedUrl(String)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getFilters()"><!-- --></A><H3>
getFilters</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet">Filter</A>&gt; <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.259"><B>getFilters</B></A>()</PRE>
<DL>
<DD>Returns the filterName-to-Filter map of filters available for reference when defining filter chain definitions.
All filter chain definitions will reference filters by the names in this map (i.e. the keys).
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the filterName-to-Filter map of filters available for reference when defining filter chain definitions.</DL>
</DD>
</DL>
<HR>
<A NAME="setFilters(java.util.Map)"><!-- --></A><H3>
setFilters</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.281"><B>setFilters</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet">Filter</A>&gt;&nbsp;filters)</PRE>
<DL>
<DD>Sets the filterName-to-Filter map of filters available for reference when creating
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitionMap(java.util.Map)"><CODE>filter chain definitions</CODE></A>.
<p/>
<b>Note:</b> This property is optional: this <code>FactoryBean</code> implementation will discover all beans in the
web application context that implement the <A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet"><CODE>Filter</CODE></A> interface and automatically add them to this filter
map under their bean name.
<p/>
For example, just defining this bean in a web Spring XML application context:
<pre>
&lt;bean id=&quot;myFilter&quot; class=&quot;com.class.that.implements.javax.servlet.Filter&quot;&gt;
...
&lt;/bean&gt;</pre>
Will automatically place that bean into this Filters map under the key '<b>myFilter</b>'.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>filters</CODE> - the optional filterName-to-Filter map of filters available for reference when creating
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitionMap(java.util.Map)"><CODE>(java.util.Map) filter chain definitions</CODE></A>.</DL>
</DD>
</DL>
<HR>
<A NAME="getFilterChainDefinitionMap()"><!-- --></A><H3>
getFilterChainDefinitionMap</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt; <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.294"><B>getFilterChainDefinitionMap</B></A>()</PRE>
<DL>
<DD>Returns the chainName-to-chainDefinition map of chain definitions to use for creating filter chains intercepted
by the Shiro Filter. Each map entry should conform to the format defined by the
<A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainManager.html#createChain(java.lang.String, java.lang.String)"><CODE>FilterChainManager.createChain(String, String)</CODE></A> JavaDoc, where the map key is the chain name (e.g. URL
path expression) and the map value is the comma-delimited string chain definition.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>he chainName-to-chainDefinition map of chain definitions to use for creating filter chains intercepted
by the Shiro Filter.</DL>
</DD>
</DL>
<HR>
<A NAME="setFilterChainDefinitionMap(java.util.Map)"><!-- --></A><H3>
setFilterChainDefinitionMap</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.307"><B>setFilterChainDefinitionMap</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>,<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;&nbsp;filterChainDefinitionMap)</PRE>
<DL>
<DD>Sets the chainName-to-chainDefinition map of chain definitions to use for creating filter chains intercepted
by the Shiro Filter. Each map entry should conform to the format defined by the
<A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainManager.html#createChain(java.lang.String, java.lang.String)"><CODE>FilterChainManager.createChain(String, String)</CODE></A> JavaDoc, where the map key is the chain name (e.g. URL
path expression) and the map value is the comma-delimited string chain definition.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>filterChainDefinitionMap</CODE> - the chainName-to-chainDefinition map of chain definitions to use for creating
filter chains intercepted by the Shiro Filter.</DL>
</DD>
</DL>
<HR>
<A NAME="setFilterChainDefinitions(java.lang.String)"><!-- --></A><H3>
setFilterChainDefinitions</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.321"><B>setFilterChainDefinitions</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;definitions)</PRE>
<DL>
<DD>A convenience method that sets the <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitionMap(java.util.Map)"><CODE>filterChainDefinitionMap</CODE></A>
property by accepting a <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><CODE>Properties</CODE></A>-compatible string (multi-line key/value pairs).
Each key/value pair must conform to the format defined by the
<A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainManager.html#createChain(java.lang.String, java.lang.String)"><CODE>FilterChainManager.createChain(String,String)</CODE></A> JavaDoc - each property key is an ant URL
path expression and the value is the comma-delimited chain definition.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>definitions</CODE> - a <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><CODE>Properties</CODE></A>-compatible string (multi-line key/value pairs)
where each key/value pair represents a single urlPathExpression-commaDelimitedChainDefinition.</DL>
</DD>
</DL>
<HR>
<A NAME="getObject()"><!-- --></A><H3>
getObject</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.341"><B>getObject</B></A>()
throws <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Lazily creates and returns a <A HREF="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html" title="class in org.apache.shiro.web.servlet"><CODE>AbstractShiroFilter</CODE></A> concrete instance via the
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#createInstance()"><CODE>createInstance()</CODE></A> method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getObject</CODE> in interface <CODE>org.springframework.beans.factory.FactoryBean</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the application's Shiro Filter instance used to filter incoming web requests.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - if there is a problem creating the <code>Filter</code> instance.</DL>
</DD>
</DL>
<HR>
<A NAME="getObjectType()"><!-- --></A><H3>
getObjectType</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.353"><B>getObjectType</B></A>()</PRE>
<DL>
<DD>Returns <code><A HREF="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html" title="class in org.apache.shiro.web.servlet"><CODE>AbstractShiroFilter</CODE></A>.class</code>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getObjectType</CODE> in interface <CODE>org.springframework.beans.factory.FactoryBean</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code><A HREF="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html" title="class in org.apache.shiro.web.servlet"><CODE>AbstractShiroFilter</CODE></A>.class</code></DL>
</DD>
</DL>
<HR>
<A NAME="isSingleton()"><!-- --></A><H3>
isSingleton</H3>
<PRE>
public boolean <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.362"><B>isSingleton</B></A>()</PRE>
<DL>
<DD>Returns <code>true</code> always. There is almost always only ever 1 Shiro <code>Filter</code> per web application.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>isSingleton</CODE> in interface <CODE>org.springframework.beans.factory.FactoryBean</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> always. There is almost always only ever 1 Shiro <code>Filter</code> per web application.</DL>
</DD>
</DL>
<HR>
<A NAME="createFilterChainManager()"><!-- --></A><H3>
createFilterChainManager</H3>
<PRE>
protected <A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainManager.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainManager</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.366"><B>createFilterChainManager</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="createInstance()"><!-- --></A><H3>
createInstance</H3>
<PRE>
protected <A HREF="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html" title="class in org.apache.shiro.web.servlet">AbstractShiroFilter</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.422"><B>createInstance</B></A>()
throws <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>This implementation:
<ol>
<li>Ensures the required <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><CODE>securityManager</CODE></A>
property has been set</li>
<li><A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#createFilterChainManager()"><CODE>Creates</CODE></A> a <A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainManager.html" title="interface in org.apache.shiro.web.filter.mgt"><CODE>FilterChainManager</CODE></A> instance that reflects the
configured <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>filters</CODE></A> and
<A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilterChainDefinitionMap(java.util.Map)"><CODE>filter chain definitions</CODE></A></li>
<li>Wraps the FilterChainManager with a suitable
<A HREF="../../../../../org/apache/shiro/web/filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt"><CODE>FilterChainResolver</CODE></A> since the Shiro Filter
implementations do not know of <code>FilterChainManager</code>s</li>
<li>Sets both the <code>SecurityManager</code> and <code>FilterChainResolver</code> instances on a new Shiro Filter
instance and returns that filter instance.</li>
</ol>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a new Shiro Filter reflecting any configured filters and filter chain definitions.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - if there is a problem creating the AbstractShiroFilter instance.</DL>
</DD>
</DL>
<HR>
<A NAME="postProcessBeforeInitialization(java.lang.Object, java.lang.String)"><!-- --></A><H3>
postProcessBeforeInitialization</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.499"><B>postProcessBeforeInitialization</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;bean,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;beanName)
throws org.springframework.beans.BeansException</PRE>
<DL>
<DD>Inspects a bean, and if it implements the <A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet"><CODE>Filter</CODE></A> interface, automatically adds that filter
instance to the internal <A HREF="../../../../../org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#setFilters(java.util.Map)"><CODE>filters map</CODE></A> that will be referenced
later during filter chain construction.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>postProcessBeforeInitialization</CODE> in interface <CODE>org.springframework.beans.factory.config.BeanPostProcessor</CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>org.springframework.beans.BeansException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="postProcessAfterInitialization(java.lang.Object, java.lang.String)"><!-- --></A><H3>
postProcessAfterInitialization</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <A HREF="../../../../../src-html/org/apache/shiro/spring/web/ShiroFilterFactoryBean.html#line.515"><B>postProcessAfterInitialization</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;bean,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;beanName)
throws org.springframework.beans.BeansException</PRE>
<DL>
<DD>Does nothing - only exists to satisfy the BeanPostProcessor interface and immediately returns the
<code>bean</code> argument.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>postProcessAfterInitialization</CODE> in interface <CODE>org.springframework.beans.factory.config.BeanPostProcessor</CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>org.springframework.beans.BeansException</CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ShiroFilterFactoryBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/shiro/spring/web/ShiroFilterFactoryBean.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ShiroFilterFactoryBean.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2004-2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>