⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iofilter.html

📁 MINA+API 关于MINA的API
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<!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_04) on Tue Feb 19 10:50:43 MST 2008 --><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><TITLE>IoFilter (Apache MINA 2.0.0-M1 API Documentation)</TITLE><META NAME="date" CONTENT="2008-02-19"><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="IoFilter (Apache MINA 2.0.0-M1 API Documentation)";    }}</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/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/IoEventType.html" title="enum 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/firewall/BlacklistFilter.html" title="class in org.apache.mina.filter.firewall">BlacklistFilter</A>, <A HREF="../../../../org/apache/mina/filter/util/CommonEventFilter.html" title="class in org.apache.mina.filter.util">CommonEventFilter</A>, <A HREF="../../../../org/apache/mina/filter/compression/CompressionFilter.html" title="class in org.apache.mina.filter.compression">CompressionFilter</A>, <A HREF="../../../../org/apache/mina/filter/firewall/ConnectionThrottleFilter.html" title="class in org.apache.mina.filter.firewall">ConnectionThrottleFilter</A>, <A HREF="../../../../org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.html" title="class in org.apache.mina.filter.errorgenerating">ErrorGeneratingFilter</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/keepalive/KeepAliveFilter.html" title="class in org.apache.mina.filter.keepalive">KeepAliveFilter</A>, <A HREF="../../../../org/apache/mina/filter/logging/LoggingFilter.html" title="class in org.apache.mina.filter.logging">LoggingFilter</A>, <A HREF="../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html" title="class in org.apache.mina.filter.logging">MdcInjectionFilter</A>, <A HREF="../../../../org/apache/mina/filter/statistic/ProfilerTimerFilter.html" title="class in org.apache.mina.filter.statistic">ProfilerTimerFilter</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/traffic/ReadThrottleFilter.html" title="class in org.apache.mina.filter.traffic">ReadThrottleFilter</A>, <A HREF="../../../../org/apache/mina/filter/util/ReferenceCountingFilter.html" title="class in org.apache.mina.filter.util">ReferenceCountingFilter</A>, <A HREF="../../../../org/apache/mina/filter/reqres/RequestResponseFilter.html" title="class in org.apache.mina.filter.reqres">RequestResponseFilter</A>, <A HREF="../../../../org/apache/mina/filter/util/SessionAttributeInitializingFilter.html" title="class in org.apache.mina.filter.util">SessionAttributeInitializingFilter</A>, <A HREF="../../../../org/apache/mina/filter/ssl/SslFilter.html" title="class in org.apache.mina.filter.ssl">SslFilter</A>, <A HREF="../../../../org/apache/mina/filter/stream/StreamWriteFilter.html" title="class in org.apache.mina.filter.stream">StreamWriteFilter</A>, <A HREF="../../../../org/apache/mina/filter/traffic/TrafficShapingFilter.html" title="class in org.apache.mina.filter.traffic">TrafficShapingFilter</A>, <A HREF="../../../../org/apache/mina/filter/util/WriteRequestFilter.html" title="class in org.apache.mina.filter.util">WriteRequestFilter</A>, <A HREF="../../../../org/apache/mina/filter/traffic/WriteThrottleFilter.html" title="class in org.apache.mina.filter.traffic">WriteThrottleFilter</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/util/ReferenceCountingFilter.html" title="class in org.apache.mina.filter.util"><CODE>ReferenceCountingFilter</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/util/ReferenceCountingFilter.html" title="class in org.apache.mina.filter.util"><CODE>ReferenceCountingFilter</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/util/ReferenceCountingFilter.html" title="class in org.apache.mina.filter.util"><CODE>ReferenceCountingFilter</CODE></A> if       the removed filter was the last one.</li> </ol><P><P><DL><DT><B>Version:</B></DT>  <DD>$Rev: 591770 $, $Date: 2007-11-04 05:22:44 -0700 (Sun, 04 Nov 2007) $</DD><DT><B>Author:</B></DT>  <DD>The Apache MINA Project (dev@mina.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></TABLE>&nbsp;<!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -