org.apache.mina.common
Interface IoFilterChain


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).

Version:
$Rev: 389042 $, $Date: 2006-03-27 16:49:41 +0900 (Mon, 27 Mar 2006) $
Author:
The Apache Directory Project (mina-dev@directory.apache.org)

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(Class filterType)
          Returns true if this chain contains an IoFilter of the specified filterType.
 boolean contains(IoFilter filter)
          Returns true if this chain contains the specified filter.
 boolean contains(String name)
          Returns true if this chain contains an IoFilter with the specified name.
 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 Detail

getSession

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

Returns:
IoSession

getEntry

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

get

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

getNextFilter

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

getAll

List getAll()
Returns the list of all IoFilterChain.Entrys this chain contains.


getAllReversed

List getAllReversed()
Returns the reversed list of all IoFilterChain.Entrys this chain contains.


contains

boolean contains(String name)
Returns true if this chain contains an IoFilter with the specified name.


contains

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


contains

boolean contains(Class filterType)
Returns true if this chain contains an IoFilter of the specified filterType.


addFirst

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

Throws:
IoFilterLifeCycleException - if IoFilter.onPostAdd(IoFilterChain, String, NextFilter) or IoFilter.init() throws an exception.

addLast

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

Throws:
IoFilterLifeCycleException - if IoFilter.onPostAdd(IoFilterChain, String, NextFilter) or IoFilter.init() throws an exception.

addBefore

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.

Throws:
IoFilterLifeCycleException - if IoFilter.onPostAdd(IoFilterChain, String, NextFilter) or IoFilter.init() throws an exception.

addAfter

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.

Throws:
IoFilterLifeCycleException - if IoFilter.onPostAdd(IoFilterChain, String, NextFilter) or IoFilter.init() throws an exception.

remove

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

Throws:
IoFilterLifeCycleException - if IoFilter.onPostRemove(IoFilterChain, String, NextFilter) or IoFilter.destroy() throws an exception.

clear

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

Throws:
Exception - if IoFilter.onPostRemove(IoFilterChain, String, NextFilter) thrown an exception.