org.apache.mina.filter

Class ReferenceCountingIoFilter

Implemented Interfaces:
IoFilter

public class ReferenceCountingIoFilter
extends java.lang.Object
implements IoFilter

An IoFilters wrapper that keeps track of the number of usages of this filter and will call init/destroy when the filter is not in use.

Constructor Summary

ReferenceCountingIoFilter(IoFilter filter)

Method Summary

void
destroy()
Invoked by ReferenceCountingIoFilter when this filter is not used by any IoFilterChain anymore, so you can destroy shared resources.
void
exceptionCaught(NextFilter nextFilter, IoSession session, Throwable cause)
void
filterClose(NextFilter nextFilter, IoSession session)
void
filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest)
void
init()
Invoked by ReferenceCountingIoFilter when this filter is added to a IoFilterChain at the first time, so you can initialize shared resources.
void
messageReceived(NextFilter nextFilter, IoSession session, Object message)
void
messageSent(NextFilter nextFilter, IoSession session, Object message)
void
onPostAdd(IoFilterChain parent, String name, NextFilter nextFilter)
void
onPostRemove(IoFilterChain parent, String name, NextFilter nextFilter)
void
onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter)
void
onPreRemove(IoFilterChain parent, String name, NextFilter nextFilter)
void
sessionClosed(NextFilter nextFilter, IoSession session)
void
sessionCreated(NextFilter nextFilter, IoSession session)
void
sessionIdle(NextFilter nextFilter, IoSession session, IdleStatus status)
void
sessionOpened(NextFilter nextFilter, IoSession session)

Constructor Details

ReferenceCountingIoFilter

public ReferenceCountingIoFilter(IoFilter filter)

Method Details

destroy

public void destroy()
            throws Exception
Invoked by ReferenceCountingIoFilter when this filter is not used by any IoFilterChain anymore, so you can destroy shared resources. Please note that this method is never called if you don't wrap a filter with ReferenceCountingIoFilter.
Specified by:
destroy in interface IoFilter

exceptionCaught

public void exceptionCaught(NextFilter nextFilter,
                            IoSession session,
                            Throwable cause)
            throws Exception

filterClose

public void filterClose(NextFilter nextFilter,
                        IoSession session)
            throws Exception

filterWrite

public void filterWrite(NextFilter nextFilter,
                        IoSession session,
                        WriteRequest writeRequest)
            throws Exception

init

public void init()
            throws Exception
Invoked by ReferenceCountingIoFilter when this filter is added to a IoFilterChain 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 ReferenceCountingIoFilter.
Specified by:
init in interface IoFilter

messageReceived

public void messageReceived(NextFilter nextFilter,
                            IoSession session,
                            Object message)
            throws Exception

messageSent

public void messageSent(NextFilter nextFilter,
                        IoSession session,
                        Object message)
            throws Exception

onPostAdd

public void onPostAdd(IoFilterChain parent,
                      String name,
                      NextFilter nextFilter)
            throws Exception

onPostRemove

public void onPostRemove(IoFilterChain parent,
                         String name,
                         NextFilter nextFilter)
            throws Exception

onPreAdd

public void onPreAdd(IoFilterChain parent,
                     String name,
                     NextFilter nextFilter)
            throws Exception

onPreRemove

public void onPreRemove(IoFilterChain parent,
                        String name,
                        NextFilter nextFilter)
            throws Exception

sessionClosed

public void sessionClosed(NextFilter nextFilter,
                          IoSession session)
            throws Exception

sessionCreated

public void sessionCreated(NextFilter nextFilter,
                           IoSession session)
            throws Exception

sessionIdle

public void sessionIdle(NextFilter nextFilter,
                        IoSession session,
                        IdleStatus status)
            throws Exception

sessionOpened

public void sessionOpened(NextFilter nextFilter,
                          IoSession session)
            throws Exception