class FilteredChannelInputWrapper extends ChannelInputWrapper implements FilteredChannelInput
Modifier and Type | Field and Description |
---|---|
private FilterHolder |
filters
Set of read filters installed.
|
Constructor and Description |
---|
FilteredChannelInputWrapper(ChannelInput in)
Constructs a new
FilteredChannelInputWrapper around the existing channel end. |
Modifier and Type | Method and Description |
---|---|
void |
addReadFilter(Filter filter)
Installs a read filter defining a transformation to be applied by the
read method of the
channel end. |
void |
addReadFilter(Filter filter,
int index)
Installs a read filter defining a transformation to be applied by the
read method of the
channel end at a specific index. |
Filter |
getReadFilter(int index)
Returns the read filter installed at the given index.
|
int |
getReadFilterCount()
Returns the number of read filters currently installed.
|
java.lang.Object |
read()
Reads a value from the channel.
|
void |
removeReadFilter(Filter filter)
Removes the first read filter (lowest index) matching the filter given as a parameter.
|
void |
removeReadFilter(int index)
Removes the read filter installed at the given index.
|
endRead, poison, startRead
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
endRead, startRead
poison
private FilterHolder filters
FilteredChannelInputWrapper(ChannelInput in)
FilteredChannelInputWrapper
around the existing channel end.in
- channel end to create the wrapper around.public java.lang.Object read()
ChannelInputWrapper
read
in interface ChannelInput
read
in class ChannelInputWrapper
ChannelInput
public void addReadFilter(Filter filter)
ReadFiltered
read
method of the
channel end. The filter will be appended to the end of the current list, making it the last to
be applied.addReadFilter
in interface ReadFiltered
filter
- the filter to be installed; may not be null.public void addReadFilter(Filter filter, int index)
ReadFiltered
read
method of the
channel end at a specific index. If there is already a filter at that index position the existing
filters are shifted to make room. If the index is greater than the number of filters already
installed the filter is placed at the end.addReadFilter
in interface ReadFiltered
filter
- the filter to be installed; may not be null.index
- the zero based index; may not be negative.public void removeReadFilter(Filter filter)
ReadFiltered
r
, will satisfy the condition r.equals (filter)
. The remaining
filters are shifted to close the gap in the index allocation.removeReadFilter
in interface ReadFiltered
filter
- the filter to be removed; may not be null.public void removeReadFilter(int index)
ReadFiltered
removeReadFilter
in interface ReadFiltered
index
- zero-based index of the filter to be removed.public Filter getReadFilter(int index)
ReadFiltered
getReadFilter
in interface ReadFiltered
index
- zero-based index of the filter to return.public int getReadFilterCount()
ReadFiltered
getReadFilterCount
in interface ReadFiltered