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/04/28 10:35:07 UTC
svn commit: r165116 - in /directory/network/trunk/src/java/org/apache/mina:
io/AbstractIoHandlerFilterChain.java
protocol/AbstractProtocolHandlerFilterChain.java
Author: trustin
Date: Thu Apr 28 01:35:05 2005
New Revision: 165116
URL: http://svn.apache.org/viewcvs?rev=165116&view=rev
Log:
* Made Abstract(Io/Protocol)FilterChains more extensible
Modified:
directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java
directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java
Modified: directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java?rev=165116&r1=165115&r2=165116&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/AbstractIoHandlerFilterChain.java Thu Apr 28 01:35:05 2005
@@ -50,94 +50,6 @@
*/
public abstract class AbstractIoHandlerFilterChain implements IoHandlerFilterChain
{
- private final IoHandlerFilter HEAD_FILTER = new IoHandlerFilter()
- {
- public void sessionOpened( NextFilter nextFilter, IoSession session )
- {
- nextFilter.sessionOpened( session );
- }
-
- public void sessionClosed( NextFilter nextFilter, IoSession session )
- {
- nextFilter.sessionClosed( session );
- }
-
- public void sessionIdle( NextFilter nextFilter, IoSession session,
- IdleStatus status )
- {
- nextFilter.sessionIdle( session, status );
- }
-
- public void exceptionCaught( NextFilter nextFilter,
- IoSession session, Throwable cause )
- {
- nextFilter.exceptionCaught( session, cause );
- }
-
- public void dataRead( NextFilter nextFilter, IoSession session,
- ByteBuffer buf )
- {
- nextFilter.dataRead( session, buf );
- }
-
- public void dataWritten( NextFilter nextFilter, IoSession session,
- Object marker )
- {
- nextFilter.dataWritten( session, marker );
- }
-
- public void filterWrite( NextFilter nextFilter, IoSession session,
- ByteBuffer buf, Object marker )
- {
- doWrite( session, buf, marker );
- }
- };
-
- private final IoHandlerFilter TAIL_FILTER = new IoHandlerFilter()
- {
- public void sessionOpened( NextFilter nextFilter, IoSession session )
- {
- session.getHandler().sessionOpened( session );
- }
-
- public void sessionClosed( NextFilter nextFilter, IoSession session )
- {
- session.getHandler().sessionClosed( session );
- }
-
- public void sessionIdle( NextFilter nextFilter, IoSession session,
- IdleStatus status )
- {
- session.getHandler().sessionIdle( session, status );
- }
-
- public void exceptionCaught( NextFilter nextFilter,
- IoSession session, Throwable cause )
- {
- session.getHandler().exceptionCaught( session, cause );
- }
-
- public void dataRead( NextFilter nextFilter, IoSession session,
- ByteBuffer buf )
- {
- IoHandler handler = session.getHandler();
- handler.dataRead( session, buf );
- buf.release();
- }
-
- public void dataWritten( NextFilter nextFilter, IoSession session,
- Object marker )
- {
- session.getHandler().dataWritten( session, marker );
- }
-
- public void filterWrite( NextFilter nextFilter,
- IoSession session, ByteBuffer buf, Object marker )
- {
- nextFilter.filterWrite( session, buf, marker );
- }
- };
-
private final Map name2entry = new HashMap();
private final Map filter2entry = new IdentityHashMap();
@@ -148,9 +60,109 @@
protected AbstractIoHandlerFilterChain()
{
- head = new Entry( null, null, "head", HEAD_FILTER );
- tail = new Entry( head, null, "tail", TAIL_FILTER );
+ head = new Entry( null, null, "head", createHeadFilter() );
+ tail = new Entry( head, null, "tail", createTailFilter() );
head.nextEntry = tail;
+ }
+
+ /**
+ * Override this method to create custom head of this filter chain.
+ */
+ protected IoHandlerFilter createHeadFilter()
+ {
+ return new IoHandlerFilter()
+ {
+ public void sessionOpened( NextFilter nextFilter, IoSession session )
+ {
+ nextFilter.sessionOpened( session );
+ }
+
+ public void sessionClosed( NextFilter nextFilter, IoSession session )
+ {
+ nextFilter.sessionClosed( session );
+ }
+
+ public void sessionIdle( NextFilter nextFilter, IoSession session,
+ IdleStatus status )
+ {
+ nextFilter.sessionIdle( session, status );
+ }
+
+ public void exceptionCaught( NextFilter nextFilter,
+ IoSession session, Throwable cause )
+ {
+ nextFilter.exceptionCaught( session, cause );
+ }
+
+ public void dataRead( NextFilter nextFilter, IoSession session,
+ ByteBuffer buf )
+ {
+ nextFilter.dataRead( session, buf );
+ }
+
+ public void dataWritten( NextFilter nextFilter, IoSession session,
+ Object marker )
+ {
+ nextFilter.dataWritten( session, marker );
+ }
+
+ public void filterWrite( NextFilter nextFilter, IoSession session,
+ ByteBuffer buf, Object marker )
+ {
+ doWrite( session, buf, marker );
+ }
+ };
+ }
+
+ /**
+ * Override this method to create custom tail of this filter chain.
+ */
+ protected IoHandlerFilter createTailFilter()
+ {
+ return new IoHandlerFilter()
+ {
+ public void sessionOpened( NextFilter nextFilter, IoSession session )
+ {
+ session.getHandler().sessionOpened( session );
+ }
+
+ public void sessionClosed( NextFilter nextFilter, IoSession session )
+ {
+ session.getHandler().sessionClosed( session );
+ }
+
+ public void sessionIdle( NextFilter nextFilter, IoSession session,
+ IdleStatus status )
+ {
+ session.getHandler().sessionIdle( session, status );
+ }
+
+ public void exceptionCaught( NextFilter nextFilter,
+ IoSession session, Throwable cause )
+ {
+ session.getHandler().exceptionCaught( session, cause );
+ }
+
+ public void dataRead( NextFilter nextFilter, IoSession session,
+ ByteBuffer buf )
+ {
+ IoHandler handler = session.getHandler();
+ handler.dataRead( session, buf );
+ buf.release();
+ }
+
+ public void dataWritten( NextFilter nextFilter, IoSession session,
+ Object marker )
+ {
+ session.getHandler().dataWritten( session, marker );
+ }
+
+ public void filterWrite( NextFilter nextFilter,
+ IoSession session, ByteBuffer buf, Object marker )
+ {
+ nextFilter.filterWrite( session, buf, marker );
+ }
+ };
}
public IoHandlerFilter getChild( String name )
Modified: directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java?rev=165116&r1=165115&r2=165116&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/protocol/AbstractProtocolHandlerFilterChain.java Thu Apr 28 01:35:05 2005
@@ -49,93 +49,6 @@
*/
public abstract class AbstractProtocolHandlerFilterChain implements ProtocolHandlerFilterChain
{
- private final ProtocolHandlerFilter HEAD_FILTER = new ProtocolHandlerFilter()
- {
- public void sessionOpened( NextFilter nextFilter, ProtocolSession session )
- {
- nextFilter.sessionOpened( session );
- }
-
- public void sessionClosed( NextFilter nextFilter, ProtocolSession session )
- {
- nextFilter.sessionClosed( session );
- }
-
- public void sessionIdle( NextFilter nextFilter, ProtocolSession session,
- IdleStatus status )
- {
- nextFilter.sessionIdle( session, status );
- }
-
- public void exceptionCaught( NextFilter nextFilter,
- ProtocolSession session, Throwable cause )
- {
- nextFilter.exceptionCaught( session, cause );
- }
-
- public void messageReceived( NextFilter nextFilter, ProtocolSession session,
- Object message )
- {
- nextFilter.messageReceived( session, message );
- }
-
- public void messageSent( NextFilter nextFilter, ProtocolSession session,
- Object message )
- {
- nextFilter.messageSent( session, message );
- }
-
- public void filterWrite( NextFilter nextFilter, ProtocolSession session,
- Object message )
- {
- doWrite( session, message );
- }
- };
-
- private final ProtocolHandlerFilter TAIL_FILTER = new ProtocolHandlerFilter()
- {
- public void sessionOpened( NextFilter nextFilter, ProtocolSession session )
- {
- session.getHandler().sessionOpened( session );
- }
-
- public void sessionClosed( NextFilter nextFilter, ProtocolSession session )
- {
- session.getHandler().sessionClosed( session );
- }
-
- public void sessionIdle( NextFilter nextFilter, ProtocolSession session,
- IdleStatus status )
- {
- session.getHandler().sessionIdle( session, status );
- }
-
- public void exceptionCaught( NextFilter nextFilter,
- ProtocolSession session, Throwable cause )
- {
- session.getHandler().exceptionCaught( session, cause );
- }
-
- public void messageReceived( NextFilter nextFilter, ProtocolSession session,
- Object message )
- {
- ProtocolHandler handler = session.getHandler();
- handler.messageReceived( session, message );
- }
-
- public void messageSent( NextFilter nextFilter, ProtocolSession session,
- Object message )
- {
- session.getHandler().messageSent( session, message );
- }
-
- public void filterWrite( NextFilter nextFilter,
- ProtocolSession session, Object message )
- {
- nextFilter.filterWrite( session, message );
- }
- };
-
private final Map name2entry = new HashMap();
private final Map filter2entry = new IdentityHashMap();
@@ -146,9 +59,108 @@
protected AbstractProtocolHandlerFilterChain()
{
- head = new Entry( null, null, "head", HEAD_FILTER );
- tail = new Entry( head, null, "tail", TAIL_FILTER );
+ head = new Entry( null, null, "head", createHeadFilter() );
+ tail = new Entry( head, null, "tail", createTailFilter() );
head.nextEntry = tail;
+ }
+
+ /**
+ * Override this method to create custom head of this filter chain.
+ */
+ protected ProtocolHandlerFilter createHeadFilter()
+ {
+ return new ProtocolHandlerFilter()
+ {
+ public void sessionOpened( NextFilter nextFilter, ProtocolSession session )
+ {
+ nextFilter.sessionOpened( session );
+ }
+
+ public void sessionClosed( NextFilter nextFilter, ProtocolSession session )
+ {
+ nextFilter.sessionClosed( session );
+ }
+
+ public void sessionIdle( NextFilter nextFilter, ProtocolSession session,
+ IdleStatus status )
+ {
+ nextFilter.sessionIdle( session, status );
+ }
+
+ public void exceptionCaught( NextFilter nextFilter,
+ ProtocolSession session, Throwable cause )
+ {
+ nextFilter.exceptionCaught( session, cause );
+ }
+
+ public void messageReceived( NextFilter nextFilter, ProtocolSession session,
+ Object message )
+ {
+ nextFilter.messageReceived( session, message );
+ }
+
+ public void messageSent( NextFilter nextFilter, ProtocolSession session,
+ Object message )
+ {
+ nextFilter.messageSent( session, message );
+ }
+
+ public void filterWrite( NextFilter nextFilter, ProtocolSession session,
+ Object message )
+ {
+ doWrite( session, message );
+ }
+ };
+ }
+
+ /**
+ * Override this method to create custom head of this filter chain.
+ */
+ protected ProtocolHandlerFilter createTailFilter()
+ {
+ return new ProtocolHandlerFilter()
+ {
+ public void sessionOpened( NextFilter nextFilter, ProtocolSession session )
+ {
+ session.getHandler().sessionOpened( session );
+ }
+
+ public void sessionClosed( NextFilter nextFilter, ProtocolSession session )
+ {
+ session.getHandler().sessionClosed( session );
+ }
+
+ public void sessionIdle( NextFilter nextFilter, ProtocolSession session,
+ IdleStatus status )
+ {
+ session.getHandler().sessionIdle( session, status );
+ }
+
+ public void exceptionCaught( NextFilter nextFilter,
+ ProtocolSession session, Throwable cause )
+ {
+ session.getHandler().exceptionCaught( session, cause );
+ }
+
+ public void messageReceived( NextFilter nextFilter, ProtocolSession session,
+ Object message )
+ {
+ ProtocolHandler handler = session.getHandler();
+ handler.messageReceived( session, message );
+ }
+
+ public void messageSent( NextFilter nextFilter, ProtocolSession session,
+ Object message )
+ {
+ session.getHandler().messageSent( session, message );
+ }
+
+ public void filterWrite( NextFilter nextFilter,
+ ProtocolSession session, Object message )
+ {
+ nextFilter.filterWrite( session, message );
+ }
+ };
}
public ProtocolHandlerFilter getChild( String name )