org.apache.mina.core.filterchain
Class DefaultIoFilterChainBuilder

java.lang.Object
  extended by org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder
All Implemented Interfaces:
IoFilterChainBuilder

public class DefaultIoFilterChainBuilder
extends java.lang.Object
implements IoFilterChainBuilder

The default implementation of IoFilterChainBuilder which is useful in most cases. DefaultIoFilterChainBuilder has an identical interface with IoFilter; it contains a list of IoFilters that you can modify. The IoFilters which are added to this builder will be appended to the IoFilterChain when buildFilterChain(IoFilterChain) is invoked.

However, the identical interface doesn't mean that it behaves in an exactly same way with IoFilterChain. DefaultIoFilterChainBuilder doesn't manage the life cycle of the IoFilters at all, and the existing IoSessions won't get affected by the changes in this builder. IoFilterChainBuilders affect only newly created IoSessions.

 IoAcceptor acceptor = ...;
 DefaultIoFilterChainBuilder builder = acceptor.getFilterChain();
 builder.addLast( "myFilter", new MyFilter() );
 ...
 

Author:
Apache MINA Project

Field Summary
 
Fields inherited from interface org.apache.mina.core.filterchain.IoFilterChainBuilder
NOOP
 
Constructor Summary
DefaultIoFilterChainBuilder()
          Creates a new instance with an empty filter list.
DefaultIoFilterChainBuilder(DefaultIoFilterChainBuilder filterChain)
          Creates a new copy of the specified DefaultIoFilterChainBuilder.
 
Method Summary
 void addAfter(java.lang.String baseName, java.lang.String name, IoFilter filter)
           
 void addBefore(java.lang.String baseName, java.lang.String name, IoFilter filter)
           
 void addFirst(java.lang.String name, IoFilter filter)
           
 void addLast(java.lang.String name, IoFilter filter)
           
 void buildFilterChain(IoFilterChain chain)
          Modifies the specified chain.
 void clear()
           
 boolean contains(java.lang.Class<? extends IoFilter> filterType)
           
 boolean contains(IoFilter filter)
           
 boolean contains(java.lang.String name)
           
 IoFilter get(java.lang.Class<? extends IoFilter> filterType)
           
 IoFilter get(java.lang.String name)
           
 java.util.List<IoFilterChain.Entry> getAll()
           
 java.util.List<IoFilterChain.Entry> getAllReversed()
           
 IoFilterChain.Entry getEntry(java.lang.Class<? extends IoFilter> filterType)
           
 IoFilterChain.Entry getEntry(IoFilter filter)
           
 IoFilterChain.Entry getEntry(java.lang.String name)
           
 IoFilter remove(java.lang.Class<? extends IoFilter> filterType)
           
 IoFilter remove(IoFilter filter)
           
 IoFilter remove(java.lang.String name)
           
 void replace(java.lang.Class<? extends IoFilter> oldFilterType, IoFilter newFilter)
           
 void replace(IoFilter oldFilter, IoFilter newFilter)
           
 IoFilter replace(java.lang.String name, IoFilter newFilter)
           
 void setFilters(java.util.Map<java.lang.String,? extends IoFilter> filters)
          Clears the current list of filters and adds the specified filter mapping to this builder.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DefaultIoFilterChainBuilder

public DefaultIoFilterChainBuilder()
Creates a new instance with an empty filter list.


DefaultIoFilterChainBuilder

public DefaultIoFilterChainBuilder(DefaultIoFilterChainBuilder filterChain)
Creates a new copy of the specified DefaultIoFilterChainBuilder.

Method Detail

getEntry

public IoFilterChain.Entry getEntry(java.lang.String name)
See Also:
IoFilterChain.getEntry(String)

getEntry

public IoFilterChain.Entry getEntry(IoFilter filter)
See Also:
IoFilterChain.getEntry(IoFilter)

getEntry

public IoFilterChain.Entry getEntry(java.lang.Class<? extends IoFilter> filterType)
See Also:
IoFilterChain.getEntry(Class)

get

public IoFilter get(java.lang.String name)
See Also:
IoFilterChain.get(String)

get

public IoFilter get(java.lang.Class<? extends IoFilter> filterType)
See Also:
IoFilterChain.get(Class)

getAll

public java.util.List<IoFilterChain.Entry> getAll()
See Also:
IoFilterChain.getAll()

getAllReversed

public java.util.List<IoFilterChain.Entry> getAllReversed()
See Also:
IoFilterChain.getAllReversed()

contains

public boolean contains(java.lang.String name)
See Also:
IoFilterChain.contains(String)

contains

public boolean contains(IoFilter filter)
See Also:
IoFilterChain.contains(IoFilter)

contains

public boolean contains(java.lang.Class<? extends IoFilter> filterType)
See Also:
IoFilterChain.contains(Class)

addFirst

public void addFirst(java.lang.String name,
                     IoFilter filter)
See Also:
IoFilterChain.addFirst(String, IoFilter)

addLast

public void addLast(java.lang.String name,
                    IoFilter filter)
See Also:
IoFilterChain.addLast(String, IoFilter)

addBefore

public void addBefore(java.lang.String baseName,
                      java.lang.String name,
                      IoFilter filter)
See Also:
IoFilterChain.addBefore(String, String, IoFilter)

addAfter

public void addAfter(java.lang.String baseName,
                     java.lang.String name,
                     IoFilter filter)
See Also:
IoFilterChain.addAfter(String, String, IoFilter)

remove

public IoFilter remove(java.lang.String name)
See Also:
IoFilterChain.remove(String)

remove

public IoFilter remove(IoFilter filter)
See Also:
IoFilterChain.remove(IoFilter)

remove

public IoFilter remove(java.lang.Class<? extends IoFilter> filterType)
See Also:
IoFilterChain.remove(Class)

replace

public IoFilter replace(java.lang.String name,
                        IoFilter newFilter)

replace

public void replace(IoFilter oldFilter,
                    IoFilter newFilter)

replace

public void replace(java.lang.Class<? extends IoFilter> oldFilterType,
                    IoFilter newFilter)

clear

public void clear()
See Also:
IoFilterChain.clear()

setFilters

public void setFilters(java.util.Map<java.lang.String,? extends IoFilter> filters)
Clears the current list of filters and adds the specified filter mapping to this builder. Please note that you must specify a Map implementation that iterates the filter mapping in the order of insertion such as LinkedHashMap. Otherwise, it will throw an IllegalArgumentException.


buildFilterChain

public void buildFilterChain(IoFilterChain chain)
                      throws java.lang.Exception
Description copied from interface: IoFilterChainBuilder
Modifies the specified chain.

Specified by:
buildFilterChain in interface IoFilterChainBuilder
Throws:
java.lang.Exception

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object