public interface IoFilterChain
IoFilter
s that forwards IoHandler
events
to the consisting filters and terminal IoHandler
sequentially.
Every IoSession
has its own IoFilterChain
(1-to-1 relationship).Modifier and Type | Interface and Description |
---|---|
static interface |
IoFilterChain.Entry
Represents a name-filter pair that an
IoFilterChain contains. |
Modifier and Type | Method and Description |
---|---|
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<? extends IoFilter> filterType) |
boolean |
contains(IoFilter filter) |
boolean |
contains(String name) |
void |
fireEvent(FilterEvent event)
Fires a
IoHandler.event(IoSession, FilterEvent) event. |
void |
fireExceptionCaught(Throwable cause)
Fires a
IoHandler.exceptionCaught(IoSession, Throwable) event. |
void |
fireFilterClose()
Fires a
IoSession.closeNow() or a IoSession.closeOnFlush() event. |
void |
fireFilterWrite(WriteRequest writeRequest)
Fires a
IoSession.write(Object) event. |
void |
fireInputClosed()
Fires a
IoHandler.inputClosed(IoSession) event. |
void |
fireMessageReceived(Object message)
Fires a
IoHandler.messageReceived(IoSession, Object) event. |
void |
fireMessageSent(WriteRequest request)
Fires a
IoHandler.messageSent(IoSession, Object) event. |
void |
fireSessionClosed()
Fires a
IoHandler.sessionClosed(IoSession) event. |
void |
fireSessionCreated()
Fires a
IoHandler.sessionCreated(IoSession) event. |
void |
fireSessionIdle(IdleStatus status)
Fires a
IoHandler.sessionIdle(IoSession, IdleStatus) event. |
void |
fireSessionOpened()
Fires a
IoHandler.sessionOpened(IoSession) event. |
IoFilter |
get(Class<? extends IoFilter> filterType)
Returns the
IoFilter with the specified filterType
in this chain. |
IoFilter |
get(String name)
Returns the
IoFilter with the specified name in this chain. |
List<IoFilterChain.Entry> |
getAll() |
List<IoFilterChain.Entry> |
getAllReversed() |
IoFilterChain.Entry |
getEntry(Class<? extends IoFilter> filterType)
Returns the
IoFilterChain.Entry with the specified filterType
in this chain. |
IoFilterChain.Entry |
getEntry(IoFilter filter)
Returns the
IoFilterChain.Entry with the specified filter in this chain. |
IoFilterChain.Entry |
getEntry(String name)
Returns the
IoFilterChain.Entry with the specified name in this chain. |
IoFilter.NextFilter |
getNextFilter(Class<? extends IoFilter> filterType)
Returns the
IoFilter.NextFilter of the specified filterType
in this chain. |
IoFilter.NextFilter |
getNextFilter(IoFilter filter)
Returns the
IoFilter.NextFilter of the specified IoFilter
in this chain. |
IoFilter.NextFilter |
getNextFilter(String name)
Returns the
IoFilter.NextFilter of the IoFilter with the
specified name in this chain. |
IoSession |
getSession() |
IoFilter |
remove(Class<? extends IoFilter> filterType)
Replace the filter of the specified type with the specified new filter.
|
void |
remove(IoFilter filter)
Replace the filter with the specified name with the specified new filter.
|
IoFilter |
remove(String name)
Removes the filter with the specified name from this chain.
|
IoFilter |
replace(Class<? extends IoFilter> oldFilterType,
IoFilter newFilter)
Replace the filter of the specified type with the specified new
filter.
|
void |
replace(IoFilter oldFilter,
IoFilter newFilter)
Replace the filter with the specified name with the specified new
filter.
|
IoFilter |
replace(String name,
IoFilter newFilter)
Replace the filter with the specified name with the specified new
filter.
|
IoFilterChain.Entry getEntry(String name)
IoFilterChain.Entry
with the specified name in this chain.name
- The filter's name we are looking forIoFilterChain.Entry getEntry(IoFilter filter)
IoFilterChain.Entry
with the specified filter in this chain.filter
- The Filter we are looking forIoFilterChain.Entry getEntry(Class<? extends IoFilter> filterType)
IoFilterChain.Entry
with the specified filterType
in this chain. If there's more than one filter with the specified
type, the first match will be chosen.filterType
- The filter class we are looking forIoFilter get(String name)
IoFilter
with the specified name in this chain.name
- the filter's nameIoFilter get(Class<? extends IoFilter> filterType)
IoFilter
with the specified filterType
in this chain. If there's more than one filter with the specified
type, the first match will be chosen.filterType
- The filter classIoFilter.NextFilter getNextFilter(String name)
IoFilter.NextFilter
of the IoFilter
with the
specified name in this chain.name
- The filter's name we want the next filterIoFilter.NextFilter getNextFilter(IoFilter filter)
IoFilter.NextFilter
of the specified IoFilter
in this chain.filter
- The filter for which we want the next filterIoFilter.NextFilter getNextFilter(Class<? extends IoFilter> filterType)
IoFilter.NextFilter
of the specified filterType
in this chain. If there's more than one filter with the specified
type, the first match will be chosen.filterType
- The Filter class for which we want the next filterList<IoFilterChain.Entry> getAll()
IoFilterChain.Entry
s this chain contains.List<IoFilterChain.Entry> getAllReversed()
IoFilterChain.Entry
s this chain contains.boolean contains(String name)
name
- The filter's name we are looking forIoFilter
with the
specified name.boolean contains(IoFilter filter)
filter
- The filter we are looking forboolean contains(Class<? extends IoFilter> filterType)
filterType
- The filter's class we are looking forIoFilter
of the
specified filterType.void addFirst(String name, IoFilter filter)
name
- The filter's namefilter
- The filter to addvoid addLast(String name, IoFilter filter)
name
- The filter's namefilter
- The filter to addvoid addBefore(String baseName, String name, IoFilter filter)
baseName
in this chain.baseName
- The targeted Filter's namename
- The filter's namefilter
- The filter to addvoid addAfter(String baseName, String name, IoFilter filter)
baseName
in this chain.baseName
- The targeted Filter's namename
- The filter's namefilter
- The filter to addIoFilter replace(String name, IoFilter newFilter)
name
- The name of the filter we want to replacenewFilter
- The new filtervoid replace(IoFilter oldFilter, IoFilter newFilter)
oldFilter
- The filter we want to replacenewFilter
- The new filterIoFilter replace(Class<? extends IoFilter> oldFilterType, IoFilter newFilter)
oldFilterType
- The filter class we want to replacenewFilter
- The new filterIoFilter remove(String name)
name
- The name of the filter to removevoid remove(IoFilter filter)
filter
- The filter to removeIoFilter remove(Class<? extends IoFilter> filterType)
filterType
- The filter class to removevoid clear() throws Exception
Exception
- If we weren't able to clear the filtersvoid fireSessionCreated()
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.void fireSessionOpened()
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.void fireSessionClosed()
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.void fireSessionIdle(IdleStatus status)
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.status
- The current status to propagatevoid fireMessageReceived(Object message)
IoHandler.messageReceived(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.message
- The received messagevoid fireMessageSent(WriteRequest request)
IoHandler.messageSent(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.request
- The sent requestvoid fireExceptionCaught(Throwable cause)
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.cause
- The exception causevoid fireInputClosed()
IoHandler.inputClosed(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.void fireFilterWrite(WriteRequest writeRequest)
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.writeRequest
- The message to writevoid fireFilterClose()
IoSession.closeNow()
or a IoSession.closeOnFlush()
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.void fireEvent(FilterEvent event)
IoHandler.event(IoSession, FilterEvent)
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.event
- The specific event being firedCopyright © 2004–2021 Apache MINA Project. All rights reserved.