org.apache.mina.common

Interface IoFilterChain

Known Implementing Classes:
AbstractIoFilterChain, VmPipeFilterChain

public interface IoFilterChain

A container of IoFilters that forwards IoHandler events to the consisting filters and terminal IoHandler sequentially. Every IoSession has its own IoFilterChain (1-to-1 relationship).

Nested Class Summary

static interface
IoFilterChain.Entry
Represents a name-filter pair that an IoFilterChain contains.

Method Summary

void
addAfter(String baseName, String name, IoFilter filter)
Adds the specified filter with the specified name just after the filter whose name is baseName in this chain.
void
addBefore(String baseName, String name, IoFilter filter)
Adds the specified filter with the specified name just before the filter whose name is baseName in this chain.
void
addFirst(String name, IoFilter filter)
Adds the specified filter with the specified name at the beginning of this chain.
void
addLast(String name, IoFilter filter)
Adds the specified filter with the specified name at the end of this chain.
void
clear()
Removes all filters added to this chain.
boolean
contains(IoFilter> filterType)
Returns true if this chain contains an IoFilter of the specified filterType.
boolean
contains(String name)
Returns true if this chain contains an IoFilter with the specified name.
boolean
contains(IoFilter filter)
Returns true if this chain contains the specified filter.
void
fireExceptionCaught(IoSession session, Throwable cause)
Fires a IoHandler.exceptionCaught(IoSession,Throwable) event.
void
fireFilterClose(IoSession session)
Fires a IoSession.close() event.
void
fireFilterWrite(IoSession session, IoFilter.WriteRequest writeRequest)
Fires a IoSession.write(Object) event.
void
fireMessageReceived(IoSession session, Object message)
Fires a fireMessageReceived(IoSession,Object) event.
void
fireMessageSent(IoSession session, IoFilter.WriteRequest request)
Fires a IoHandler.sessionOpened(IoSession) event.
void
fireSessionClosed(IoSession session)
Fires a IoHandler.sessionClosed(IoSession) event.
void
fireSessionCreated(IoSession session)
Fires a IoHandler.sessionCreated(IoSession) event.
void
fireSessionIdle(IoSession session, IdleStatus status)
Fires a IoHandler.sessionIdle(IoSession,IdleStatus) event.
void
fireSessionOpened(IoSession session)
Fires a IoHandler.sessionOpened(IoSession) event.
IoFilter
get(String name)
Returns the IoFilter with the specified name in this chain.
List
getAll()
Returns the list of all IoFilterChain.Entrys this chain contains.
List
getAllReversed()
Returns the reversed list of all IoFilterChain.Entrys this chain contains.
IoFilterChain.Entry
getEntry(String name)
Returns the IoFilterChain.Entry with the specified name in this chain.
IoFilter.NextFilter
getNextFilter(String name)
Returns the IoFilter.NextFilter of the IoFilter with the specified name in this chain.
IoSession
getSession()
Returns the parent IoSession of this chain.
IoFilter
remove(String name)
Removes the filter with the specified name from this chain.

Method Details

addAfter

public void addAfter(String baseName,
                     String name,
                     IoFilter filter)
Adds the specified filter with the specified name just after the filter whose name is baseName in this chain.

addBefore

public void addBefore(String baseName,
                      String name,
                      IoFilter filter)
Adds the specified filter with the specified name just before the filter whose name is baseName in this chain.

addFirst

public void addFirst(String name,
                     IoFilter filter)
Adds the specified filter with the specified name at the beginning of this chain.

addLast

public void addLast(String name,
                    IoFilter filter)
Adds the specified filter with the specified name at the end of this chain.

clear

public void clear()
            throws Exception
Removes all filters added to this chain.

contains

public boolean contains(IoFilter> filterType)

contains

public boolean contains(String name)

contains

public boolean contains(IoFilter filter)
Returns true if this chain contains the specified filter.

fireExceptionCaught

public void fireExceptionCaught(IoSession session,
                                Throwable cause)
Fires a IoHandler.exceptionCaught(IoSession,Throwable) event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

fireFilterClose

public void fireFilterClose(IoSession session)
Fires a IoSession.close() event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

fireFilterWrite

public void fireFilterWrite(IoSession session,
                            IoFilter.WriteRequest writeRequest)
Fires a IoSession.write(Object) event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

fireMessageReceived

public void fireMessageReceived(IoSession session,
                                Object message)
Fires a fireMessageReceived(IoSession,Object) event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

fireMessageSent

public void fireMessageSent(IoSession session,
                            IoFilter.WriteRequest request)
Fires a IoHandler.sessionOpened(IoSession) event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

fireSessionClosed

public void fireSessionClosed(IoSession session)
Fires a IoHandler.sessionClosed(IoSession) event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

fireSessionCreated

public void fireSessionCreated(IoSession session)
Fires a IoHandler.sessionCreated(IoSession) event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

fireSessionIdle

public void fireSessionIdle(IoSession session,
                            IdleStatus status)
Fires a IoHandler.sessionIdle(IoSession,IdleStatus) event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

fireSessionOpened

public void fireSessionOpened(IoSession session)
Fires a IoHandler.sessionOpened(IoSession) event. Most users don't need to call this method at all. Please use this method only when you implement a new transport or fire a virtual event.

get

public IoFilter get(String name)
Returns the IoFilter with the specified name in this chain.
Returns:
null if there's no such name in this chain

getAll

public List getAll()

getAllReversed

public List getAllReversed()

getEntry

public IoFilterChain.Entry getEntry(String name)
Returns the IoFilterChain.Entry with the specified name in this chain.
Returns:
null if there's no such name in this chain

getNextFilter

public IoFilter.NextFilter getNextFilter(String name)
Returns the IoFilter.NextFilter of the IoFilter with the specified name in this chain.
Returns:
null if there's no such name in this chain

getSession

public IoSession getSession()
Returns the parent IoSession of this chain.
Returns:
IoSession

remove

public IoFilter remove(String name)
Removes the filter with the specified name from this chain.