org.apache.mina.protocol
Interface ProtocolFilter

All Known Implementing Classes:
ProtocolFilterAdapter, ProtocolLoggingFilter, ProtocolThreadPoolFilter

public interface ProtocolFilter

A filter which intercepts ProtocolHandler events like Servlet filters. Filters can be used for these purposes:

Please NEVER implement your filters to wrap ProtocolSessions. Users can cache the reference to the session, which might malfunction if any filters are added or removed later.

Version:
$Rev: 326586 $, $Date: 2005-10-19 17:50:29 +0200 (Wed, 19 Oct 2005) $
Author:
The Apache Directory Project (dev@directory.apache.org)
See Also:
ProtocolFilterAdapter

Nested Class Summary
static interface ProtocolFilter.NextFilter
           
 
Method Summary
 void exceptionCaught(ProtocolFilter.NextFilter nextFilter, ProtocolSession session, java.lang.Throwable cause)
          Filters ProtocolHandler.exceptionCaught(ProtocolSession,Throwable) event.
 void filterWrite(ProtocolFilter.NextFilter nextFilter, ProtocolSession session, java.lang.Object message)
          Filters ProtocolSession.write(Object) method invocation.
 void messageReceived(ProtocolFilter.NextFilter nextFilter, ProtocolSession session, java.lang.Object message)
          Filters ProtocolHandler.messageReceived(ProtocolSession,Object) event.
 void messageSent(ProtocolFilter.NextFilter nextFilter, ProtocolSession session, java.lang.Object message)
          Filters ProtocolHandler.messageSent(ProtocolSession,Object) event.
 void sessionClosed(ProtocolFilter.NextFilter nextFilter, ProtocolSession session)
          Filters ProtocolHandler.sessionClosed(ProtocolSession) event.
 void sessionIdle(ProtocolFilter.NextFilter nextFilter, ProtocolSession session, IdleStatus status)
          Filters ProtocolHandler.sessionIdle(ProtocolSession,IdleStatus) event.
 void sessionOpened(ProtocolFilter.NextFilter nextFilter, ProtocolSession session)
          Filters ProtocolHandler.sessionOpened(ProtocolSession) event.
 

Method Detail

sessionOpened

public void sessionOpened(ProtocolFilter.NextFilter nextFilter,
                          ProtocolSession session)
                   throws java.lang.Exception
Filters ProtocolHandler.sessionOpened(ProtocolSession) event.

Throws:
java.lang.Exception

sessionClosed

public void sessionClosed(ProtocolFilter.NextFilter nextFilter,
                          ProtocolSession session)
                   throws java.lang.Exception
Filters ProtocolHandler.sessionClosed(ProtocolSession) event.

Throws:
java.lang.Exception

sessionIdle

public void sessionIdle(ProtocolFilter.NextFilter nextFilter,
                        ProtocolSession session,
                        IdleStatus status)
                 throws java.lang.Exception
Filters ProtocolHandler.sessionIdle(ProtocolSession,IdleStatus) event.

Throws:
java.lang.Exception

exceptionCaught

public void exceptionCaught(ProtocolFilter.NextFilter nextFilter,
                            ProtocolSession session,
                            java.lang.Throwable cause)
                     throws java.lang.Exception
Filters ProtocolHandler.exceptionCaught(ProtocolSession,Throwable) event.

Throws:
java.lang.Exception

messageReceived

public void messageReceived(ProtocolFilter.NextFilter nextFilter,
                            ProtocolSession session,
                            java.lang.Object message)
                     throws java.lang.Exception
Filters ProtocolHandler.messageReceived(ProtocolSession,Object) event.

Throws:
java.lang.Exception

messageSent

public void messageSent(ProtocolFilter.NextFilter nextFilter,
                        ProtocolSession session,
                        java.lang.Object message)
                 throws java.lang.Exception
Filters ProtocolHandler.messageSent(ProtocolSession,Object) event.

Throws:
java.lang.Exception

filterWrite

public void filterWrite(ProtocolFilter.NextFilter nextFilter,
                        ProtocolSession session,
                        java.lang.Object message)
                 throws java.lang.Exception
Filters ProtocolSession.write(Object) method invocation.

Throws:
java.lang.Exception