blob: 3e092aaff61a97fabe0c9eae8e32fd501df6f3e2 [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.5.0_08) on Mon Oct 02 11:45:14 GMT+09:00 2006 -->
<TITLE>
IoFilter (Apache MINA API Documentation)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.mina.common.IoFilter interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="IoFilter (Apache MINA API Documentation)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= 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/IoFilter.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;<A HREF="../../../../org/apache/mina/common/IoConnectorConfig.html" title="interface in org.apache.mina.common"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/mina/common/IoFilter.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IoFilter.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;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&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.mina.common</FONT>
<BR>
Interface IoFilter</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/mina/filter/BlacklistFilter.html" title="class in org.apache.mina.filter">BlacklistFilter</A>, <A HREF="../../../../org/apache/mina/filter/CompressionFilter.html" title="class in org.apache.mina.filter">CompressionFilter</A>, <A HREF="../../../../org/apache/mina/filter/executor/ExecutorFilter.html" title="class in org.apache.mina.filter.executor">ExecutorFilter</A>, <A HREF="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common">IoFilterAdapter</A>, <A HREF="../../../../org/apache/mina/filter/LoggingFilter.html" title="class in org.apache.mina.filter">LoggingFilter</A>, <A HREF="../../../../org/apache/mina/filter/codec/ProtocolCodecFilter.html" title="class in org.apache.mina.filter.codec">ProtocolCodecFilter</A>, <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter">ReferenceCountingIoFilter</A>, <A HREF="../../../../org/apache/mina/filter/SSLFilter.html" title="class in org.apache.mina.filter">SSLFilter</A>, <A HREF="../../../../org/apache/mina/filter/StreamWriteFilter.html" title="class in org.apache.mina.filter">StreamWriteFilter</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>IoFilter</B></DL>
</PRE>
<P>
A filter which intercepts <A HREF="../../../../org/apache/mina/common/IoHandler.html" title="interface in org.apache.mina.common"><CODE>IoHandler</CODE></A> events like Servlet
filters. Filters can be used for these purposes:
<ul>
<li>Event logging,</li>
<li>Performance measurement,</li>
<li>Authorization,</li>
<li>Overload control,</li>
<li>Message transformation (e.g. encryption and decryption, ...),</li>
<li>and many more.</li>
</ul>
<p>
<strong>Please NEVER implement your filters to wrap
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common"><CODE>IoSession</CODE></A>s.</strong> Users can cache the reference to the
session, which might malfunction if any filters are added or removed later.
<h3>The Life Cycle</h3>
<A HREF="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common"><CODE>IoFilter</CODE></A>s are activated only when they are inside <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A>.
<p>
When you add an <A HREF="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common"><CODE>IoFilter</CODE></A> to an <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A>:
<ol>
<li><A HREF="../../../../org/apache/mina/common/IoFilter.html#init()"><CODE>init()</CODE></A> is invoked by <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A> if
the filter is added at the first time.</li>
<li><A HREF="../../../../org/apache/mina/common/IoFilter.html#onPreAdd(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><CODE>onPreAdd(IoFilterChain, String, NextFilter)</CODE></A> is invoked to notify
that the filter will be added to the chain.</li>
<li>The filter is added to the chain, and all events and I/O requests
pass through the filter from now.</li>
<li><A HREF="../../../../org/apache/mina/common/IoFilter.html#onPostAdd(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><CODE>onPostAdd(IoFilterChain, String, NextFilter)</CODE></A> is invoked to notify
that the filter is added to the chain.</li>
<li>The filter is removed from the chain if <A HREF="../../../../org/apache/mina/common/IoFilter.html#onPostAdd(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><CODE>onPostAdd(IoFilterChain, String, org.apache.mina.common.IoFilter.NextFilter)</CODE></A>
threw an exception. <A HREF="../../../../org/apache/mina/common/IoFilter.html#destroy()"><CODE>destroy()</CODE></A> is also invoked by
<A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A> if the filter is the last filter which
was added to <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A>s.</li>
</ol>
<p>
When you remove an <A HREF="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common"><CODE>IoFilter</CODE></A> from an <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A>:
<ol>
<li><A HREF="../../../../org/apache/mina/common/IoFilter.html#onPreRemove(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><CODE>onPreRemove(IoFilterChain, String, NextFilter)</CODE></A> is invoked to
notify that the filter will be removed from the chain.</li>
<li>The filter is removed from the chain, and any events and I/O requests
don't pass through the filter from now.</li>
<li><A HREF="../../../../org/apache/mina/common/IoFilter.html#onPostRemove(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><CODE>onPostRemove(IoFilterChain, String, NextFilter)</CODE></A> is invoked to
notify that the filter is removed from the chain.</li>
<li><A HREF="../../../../org/apache/mina/common/IoFilter.html#destroy()"><CODE>destroy()</CODE></A> is invoked by <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A> if
the removed filter was the last one.</li>
</ol>
<P>
<P>
<DL>
<DT><B>Version:</B></DT>
<DD>$Rev: 451854 $, $Date: 2006-10-02 11:30:11 +0900 (ì›”, 02 10ì›” 2006) $</DD>
<DT><B>Author:</B></DT>
<DD>The Apache Directory Project (mina-dev@directory.apache.org)</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/mina/common/IoFilterAdapter.html" title="class in org.apache.mina.common"><CODE>IoFilterAdapter</CODE></A></DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="nested_class_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>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;interface</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents the next <A HREF="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common"><CODE>IoFilter</CODE></A> in <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/mina/common/IoFilter.WriteRequest.html" title="class in org.apache.mina.common">IoFilter.WriteRequest</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents write request fired by <A HREF="../../../../org/apache/mina/common/IoSession.html#write(java.lang.Object)"><CODE>IoSession.write(Object)</CODE></A>.</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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/mina/common/IoFilter.html#destroy()">destroy</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked by <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A> when this filter
is not used by any <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A> anymore, so you can destroy
shared resources.</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/mina/common/IoFilter.html#exceptionCaught(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, java.lang.Throwable)">exceptionCaught</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A>&nbsp;cause)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#exceptionCaught(org.apache.mina.common.IoSession, java.lang.Throwable)"><CODE>IoHandler.exceptionCaught(IoSession,Throwable)</CODE></A>
event.</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/mina/common/IoFilter.html#filterClose(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession)">filterClose</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoSession.html#close()"><CODE>IoSession.close()</CODE></A> method invocation.</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/mina/common/IoFilter.html#filterWrite(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, org.apache.mina.common.IoFilter.WriteRequest)">filterWrite</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="../../../../org/apache/mina/common/IoFilter.WriteRequest.html" title="class in org.apache.mina.common">IoFilter.WriteRequest</A>&nbsp;writeRequest)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoSession.html#write(java.lang.Object)"><CODE>IoSession.write(Object)</CODE></A> method invocation.</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/mina/common/IoFilter.html#init()">init</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked by <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A> when this filter
is added to a <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A> at the first time, so you can
initialize shared resources.</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/mina/common/IoFilter.html#messageReceived(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, java.lang.Object)">messageReceived</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#messageReceived(org.apache.mina.common.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession,Object)</CODE></A>
event.</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/mina/common/IoFilter.html#messageSent(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, java.lang.Object)">messageSent</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#messageSent(org.apache.mina.common.IoSession, java.lang.Object)"><CODE>IoHandler.messageSent(IoSession,Object)</CODE></A>
event.</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/mina/common/IoFilter.html#onPostAdd(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)">onPostAdd</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked after this filter is added to the specified <tt>parent</tt>.</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/mina/common/IoFilter.html#onPostRemove(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)">onPostRemove</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked after this filter is removed from the specified <tt>parent</tt>.</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/mina/common/IoFilter.html#onPreAdd(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)">onPreAdd</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked before this filter is added to the specified <tt>parent</tt>.</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/mina/common/IoFilter.html#onPreRemove(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)">onPreRemove</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked before this filter is removed from the specified <tt>parent</tt>.</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/mina/common/IoFilter.html#sessionClosed(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession)">sessionClosed</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#sessionClosed(org.apache.mina.common.IoSession)"><CODE>IoHandler.sessionClosed(IoSession)</CODE></A> event.</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/mina/common/IoFilter.html#sessionCreated(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession)">sessionCreated</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#sessionCreated(org.apache.mina.common.IoSession)"><CODE>IoHandler.sessionCreated(IoSession)</CODE></A> event.</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/mina/common/IoFilter.html#sessionIdle(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, org.apache.mina.common.IdleStatus)">sessionIdle</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common">IdleStatus</A>&nbsp;status)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#sessionIdle(org.apache.mina.common.IoSession, org.apache.mina.common.IdleStatus)"><CODE>IoHandler.sessionIdle(IoSession,IdleStatus)</CODE></A>
event.</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/mina/common/IoFilter.html#sessionOpened(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession)">sessionOpened</A></B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#sessionOpened(org.apache.mina.common.IoSession)"><CODE>IoHandler.sessionOpened(IoSession)</CODE></A> event.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ 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="init()"><!-- --></A><H3>
init</H3>
<PRE>
void <B>init</B>()
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Invoked by <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A> when this filter
is added to a <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A> at the first time, so you can
initialize shared resources. Please note that this method is never
called if you don't wrap a filter with <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A>.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="destroy()"><!-- --></A><H3>
destroy</H3>
<PRE>
void <B>destroy</B>()
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Invoked by <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A> when this filter
is not used by any <A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common"><CODE>IoFilterChain</CODE></A> anymore, so you can destroy
shared resources. Please note that this method is never called if
you don't wrap a filter with <A HREF="../../../../org/apache/mina/filter/ReferenceCountingIoFilter.html" title="class in org.apache.mina.filter"><CODE>ReferenceCountingIoFilter</CODE></A>.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="onPreAdd(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><!-- --></A><H3>
onPreAdd</H3>
<PRE>
void <B>onPreAdd</B>(<A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Invoked before this filter is added to the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is added to more than one parents. This method is not
invoked before <A HREF="../../../../org/apache/mina/common/IoFilter.html#init()"><CODE>init()</CODE></A> is invoked.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent who called this method<DD><CODE>name</CODE> - the name assigned to this filter<DD><CODE>nextFilter</CODE> - the <A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><CODE>IoFilter.NextFilter</CODE></A> for this filter. You can reuse
this object until this filter is removed from the chain.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="onPostAdd(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><!-- --></A><H3>
onPostAdd</H3>
<PRE>
void <B>onPostAdd</B>(<A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Invoked after this filter is added to the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is added to more than one parents. This method is not
invoked before <A HREF="../../../../org/apache/mina/common/IoFilter.html#init()"><CODE>init()</CODE></A> is invoked.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent who called this method<DD><CODE>name</CODE> - the name assigned to this filter<DD><CODE>nextFilter</CODE> - the <A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><CODE>IoFilter.NextFilter</CODE></A> for this filter. You can reuse
this object until this filter is removed from the chain.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="onPreRemove(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><!-- --></A><H3>
onPreRemove</H3>
<PRE>
void <B>onPreRemove</B>(<A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Invoked before this filter is removed from the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is removed from more than one parents.
This method is always invoked before <A HREF="../../../../org/apache/mina/common/IoFilter.html#destroy()"><CODE>destroy()</CODE></A> is invoked.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent who called this method<DD><CODE>name</CODE> - the name assigned to this filter<DD><CODE>nextFilter</CODE> - the <A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><CODE>IoFilter.NextFilter</CODE></A> for this filter. You can reuse
this object until this filter is removed from the chain.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="onPostRemove(org.apache.mina.common.IoFilterChain, java.lang.String, org.apache.mina.common.IoFilter.NextFilter)"><!-- --></A><H3>
onPostRemove</H3>
<PRE>
void <B>onPostRemove</B>(<A HREF="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</A>&nbsp;parent,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Invoked after this filter is removed from the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is removed from more than one parents.
This method is always invoked before <A HREF="../../../../org/apache/mina/common/IoFilter.html#destroy()"><CODE>destroy()</CODE></A> is invoked.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent who called this method<DD><CODE>name</CODE> - the name assigned to this filter<DD><CODE>nextFilter</CODE> - the <A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><CODE>IoFilter.NextFilter</CODE></A> for this filter. You can reuse
this object until this filter is removed from the chain.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="sessionCreated(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession)"><!-- --></A><H3>
sessionCreated</H3>
<PRE>
void <B>sessionCreated</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#sessionCreated(org.apache.mina.common.IoSession)"><CODE>IoHandler.sessionCreated(IoSession)</CODE></A> event.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="sessionOpened(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession)"><!-- --></A><H3>
sessionOpened</H3>
<PRE>
void <B>sessionOpened</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#sessionOpened(org.apache.mina.common.IoSession)"><CODE>IoHandler.sessionOpened(IoSession)</CODE></A> event.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="sessionClosed(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession)"><!-- --></A><H3>
sessionClosed</H3>
<PRE>
void <B>sessionClosed</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#sessionClosed(org.apache.mina.common.IoSession)"><CODE>IoHandler.sessionClosed(IoSession)</CODE></A> event.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="sessionIdle(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, org.apache.mina.common.IdleStatus)"><!-- --></A><H3>
sessionIdle</H3>
<PRE>
void <B>sessionIdle</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common">IdleStatus</A>&nbsp;status)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#sessionIdle(org.apache.mina.common.IoSession, org.apache.mina.common.IdleStatus)"><CODE>IoHandler.sessionIdle(IoSession,IdleStatus)</CODE></A>
event.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="exceptionCaught(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, java.lang.Throwable)"><!-- --></A><H3>
exceptionCaught</H3>
<PRE>
void <B>exceptionCaught</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A>&nbsp;cause)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#exceptionCaught(org.apache.mina.common.IoSession, java.lang.Throwable)"><CODE>IoHandler.exceptionCaught(IoSession,Throwable)</CODE></A>
event.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="messageReceived(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, java.lang.Object)"><!-- --></A><H3>
messageReceived</H3>
<PRE>
void <B>messageReceived</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;message)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#messageReceived(org.apache.mina.common.IoSession, java.lang.Object)"><CODE>IoHandler.messageReceived(IoSession,Object)</CODE></A>
event.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="messageSent(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, java.lang.Object)"><!-- --></A><H3>
messageSent</H3>
<PRE>
void <B>messageSent</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;message)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoHandler.html#messageSent(org.apache.mina.common.IoSession, java.lang.Object)"><CODE>IoHandler.messageSent(IoSession,Object)</CODE></A>
event.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="filterClose(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession)"><!-- --></A><H3>
filterClose</H3>
<PRE>
void <B>filterClose</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoSession.html#close()"><CODE>IoSession.close()</CODE></A> method invocation.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="filterWrite(org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoSession, org.apache.mina.common.IoFilter.WriteRequest)"><!-- --></A><H3>
filterWrite</H3>
<PRE>
void <B>filterWrite</B>(<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common">IoFilter.NextFilter</A>&nbsp;nextFilter,
<A HREF="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common">IoSession</A>&nbsp;session,
<A HREF="../../../../org/apache/mina/common/IoFilter.WriteRequest.html" title="class in org.apache.mina.common">IoFilter.WriteRequest</A>&nbsp;writeRequest)
throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Filters <A HREF="../../../../org/apache/mina/common/IoSession.html#write(java.lang.Object)"><CODE>IoSession.write(Object)</CODE></A> method invocation.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></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/IoFilter.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;<A HREF="../../../../org/apache/mina/common/IoConnectorConfig.html" title="interface in org.apache.mina.common"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/mina/common/IoFilter.NextFilter.html" title="interface in org.apache.mina.common"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/mina/common/IoFilter.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IoFilter.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;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>