Package org.apache.mina.core.filterchain
Class DefaultIoFilterChainBuilder
- java.lang.Object
-
- org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder
-
- All Implemented Interfaces:
IoFilterChainBuilder
public class DefaultIoFilterChainBuilder extends Object implements IoFilterChainBuilder
The default implementation ofIoFilterChainBuilder
which is useful in most cases.DefaultIoFilterChainBuilder
has an identical interface withIoFilter
; it contains a list ofIoFilter
s that you can modify. TheIoFilter
s which are added to this builder will be appended to theIoFilterChain
whenbuildFilterChain(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 theIoFilter
s at all, and the existingIoSession
s won't get affected by the changes in this builder.IoFilterChainBuilder
s affect only newly createdIoSession
s.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
Constructors Constructor Description DefaultIoFilterChainBuilder()
Creates a new instance with an empty filter list.DefaultIoFilterChainBuilder(DefaultIoFilterChainBuilder filterChain)
Creates a new copy of the specifiedDefaultIoFilterChainBuilder
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAfter(String baseName, String name, IoFilter filter)
void
addBefore(String baseName, String name, IoFilter filter)
void
addFirst(String name, IoFilter filter)
void
addLast(String name, IoFilter filter)
void
buildFilterChain(IoFilterChain chain)
Modifies the specified chain.void
clear()
boolean
contains(Class<? extends IoFilter> filterType)
boolean
contains(String name)
boolean
contains(IoFilter filter)
IoFilter
get(Class<? extends IoFilter> filterType)
IoFilter
get(String name)
List<IoFilterChain.Entry>
getAll()
List<IoFilterChain.Entry>
getAllReversed()
IoFilterChain.Entry
getEntry(Class<? extends IoFilter> filterType)
IoFilterChain.Entry
getEntry(String name)
IoFilterChain.Entry
getEntry(IoFilter filter)
IoFilter
remove(Class<? extends IoFilter> filterType)
IoFilter
remove(String name)
IoFilter
remove(IoFilter filter)
void
replace(Class<? extends IoFilter> oldFilterType, IoFilter newFilter)
Replace a filter by a new one.IoFilter
replace(String name, IoFilter newFilter)
Replace a filter by a new one.void
replace(IoFilter oldFilter, IoFilter newFilter)
Replace a filter by a new one.void
setFilters(Map<String,? extends IoFilter> filters)
Clears the current list of filters and adds the specified filter mapping to this builder.String
toString()
-
-
-
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 specifiedDefaultIoFilterChainBuilder
.- Parameters:
filterChain
- The FilterChain we will copy
-
-
Method Detail
-
getEntry
public IoFilterChain.Entry getEntry(String name)
- Parameters:
name
- The Filter's name we are looking for- Returns:
- The found Entry
- See Also:
IoFilterChain.getEntry(String)
-
getEntry
public IoFilterChain.Entry getEntry(IoFilter filter)
- Parameters:
filter
- The Filter we are looking for- Returns:
- The found Entry
- See Also:
IoFilterChain.getEntry(IoFilter)
-
getEntry
public IoFilterChain.Entry getEntry(Class<? extends IoFilter> filterType)
- Parameters:
filterType
- The FilterType we are looking for- Returns:
- The found Entry
- See Also:
IoFilterChain.getEntry(Class)
-
get
public IoFilter get(String name)
- Parameters:
name
- The Filter's name we are looking for- Returns:
- The found Filter, or null
- See Also:
IoFilterChain.get(String)
-
get
public IoFilter get(Class<? extends IoFilter> filterType)
- Parameters:
filterType
- The FilterType we are looking for- Returns:
- The found Filter, or null
- See Also:
IoFilterChain.get(Class)
-
getAll
public List<IoFilterChain.Entry> getAll()
- Returns:
- The list of Filters
- See Also:
IoFilterChain.getAll()
-
getAllReversed
public List<IoFilterChain.Entry> getAllReversed()
- Returns:
- The list of Filters, reversed
- See Also:
IoFilterChain.getAllReversed()
-
contains
public boolean contains(String name)
- Parameters:
name
- The Filter's name we want to check if it's in the chain- Returns:
- true if the chain contains the given filter name
- See Also:
IoFilterChain.contains(String)
-
contains
public boolean contains(IoFilter filter)
- Parameters:
filter
- The Filter we want to check if it's in the chain- Returns:
- true if the chain contains the given filter
- See Also:
IoFilterChain.contains(IoFilter)
-
contains
public boolean contains(Class<? extends IoFilter> filterType)
- Parameters:
filterType
- The FilterType we want to check if it's in the chain- Returns:
- true if the chain contains the given filterType
- See Also:
IoFilterChain.contains(Class)
-
addFirst
public void addFirst(String name, IoFilter filter)
- Parameters:
name
- The filter's namefilter
- The filter to add- See Also:
IoFilterChain.addFirst(String, IoFilter)
-
addLast
public void addLast(String name, IoFilter filter)
- Parameters:
name
- The filter's namefilter
- The filter to add- See Also:
IoFilterChain.addLast(String, IoFilter)
-
addBefore
public void addBefore(String baseName, String name, IoFilter filter)
- Parameters:
baseName
- The filter baseNamename
- The filter's namefilter
- The filter to add- See Also:
IoFilterChain.addBefore(String, String, IoFilter)
-
addAfter
public void addAfter(String baseName, String name, IoFilter filter)
- Parameters:
baseName
- The filter baseNamename
- The filter's namefilter
- The filter to add- See Also:
IoFilterChain.addAfter(String, String, IoFilter)
-
remove
public IoFilter remove(String name)
- Parameters:
name
- The Filter's name to remove from the list of Filters- Returns:
- The removed IoFilter
- See Also:
IoFilterChain.remove(String)
-
remove
public IoFilter remove(IoFilter filter)
- Parameters:
filter
- The Filter we want to remove from the list of Filters- Returns:
- The removed IoFilter
- See Also:
IoFilterChain.remove(IoFilter)
-
remove
public IoFilter remove(Class<? extends IoFilter> filterType)
- Parameters:
filterType
- The FilterType we want to remove from the list of Filters- Returns:
- The removed IoFilter
- See Also:
IoFilterChain.remove(Class)
-
replace
public IoFilter replace(String name, IoFilter newFilter)
Replace a filter by a new one.- Parameters:
name
- The name of the filter to replacenewFilter
- The new filter to use- Returns:
- The replaced filter
-
replace
public void replace(IoFilter oldFilter, IoFilter newFilter)
Replace a filter by a new one.- Parameters:
oldFilter
- The filter to replacenewFilter
- The new filter to use
-
replace
public void replace(Class<? extends IoFilter> oldFilterType, IoFilter newFilter)
Replace a filter by a new one. We are looking for a filter type, but if we have more than one with the same type, only the first found one will be replaced- Parameters:
oldFilterType
- The filter type to replacenewFilter
- The new filter to use
-
clear
public void clear()
- See Also:
IoFilterChain.clear()
-
setFilters
public void setFilters(Map<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 aMap
implementation that iterates the filter mapping in the order of insertion such asLinkedHashMap
. Otherwise, it will throw anIllegalArgumentException
.- Parameters:
filters
- The list of filters to set
-
buildFilterChain
public void buildFilterChain(IoFilterChain chain) throws Exception
Modifies the specified chain.- Specified by:
buildFilterChain
in interfaceIoFilterChainBuilder
- Parameters:
chain
- The chain to modify- Throws:
Exception
- If the chain modification failed
-
-