You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2005/12/01 03:57:03 UTC
svn commit: r350119 -
/directory/network/branches/chain_refactor/src/java/org/apache/mina/common/IoFilter.java
Author: trustin
Date: Wed Nov 30 18:57:01 2005
New Revision: 350119
URL: http://svn.apache.org/viewcvs?rev=350119&view=rev
Log:
Added description on IoFilter life cycle.
Modified:
directory/network/branches/chain_refactor/src/java/org/apache/mina/common/IoFilter.java
Modified: directory/network/branches/chain_refactor/src/java/org/apache/mina/common/IoFilter.java
URL: http://svn.apache.org/viewcvs/directory/network/branches/chain_refactor/src/java/org/apache/mina/common/IoFilter.java?rev=350119&r1=350118&r2=350119&view=diff
==============================================================================
--- directory/network/branches/chain_refactor/src/java/org/apache/mina/common/IoFilter.java (original)
+++ directory/network/branches/chain_refactor/src/java/org/apache/mina/common/IoFilter.java Wed Nov 30 18:57:01 2005
@@ -36,6 +36,29 @@
* {@link IoSession}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>
+ * When you add an {@link IoFilter} to an {@link IoFilterChain}:
+ * <ol>
+ * <li>{@link #init()} is invoked by {@link IoFilterChain} if the filter is
+ * added at the first time.</li>
+ * <li>The filter is added to the chain, and all events and I/O requests
+ * pass through the filter from now.</li>
+ * <li>{@link #onAdd(IoFilterChain, String, NextFilter)} is invoked to notify
+ * that the filter is added to the chain.</li>
+ * <li>The filter is removed from the chain if {@link #onAdd(IoFilterChain, String, org.apache.mina.common.IoFilter.NextFilter)}
+ * threw an exception. {@link #destroy()} is also invoked if the filter
+ * is the last filter which was added to {@link IoFilterChain}s.</li>
+ * </ol>
+ *
+ * When you remove an {@link IoFilter} from an {@link IoFilterChain}:
+ * <ol>
+ * <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>{@link #onRemove(IoFilterChain, String, NextFilter)} is invoked to
+ * notify that the filter is removed from the chain.</li>
+ * <li>{@link #destroy()} is invoked if the removed filter was the last one.</li>
+ * </ol>
+ *
* @author The Apache Directory Project (dev@directory.apache.org)
* @version $Rev$, $Date$
*