java.lang.Object
org.glassfish.grizzly.ChainProcessorSelector
- All Implemented Interfaces:
Iterable<ProcessorSelector>
,Collection<ProcessorSelector>
,List<ProcessorSelector>
,ProcessorSelector
public class ChainProcessorSelector
extends Object
implements ProcessorSelector, List<ProcessorSelector>
ProcessorSelector
implementation, which acts like wrapper for chain of ProcessorSelector
s. So, when
ProcessorSelector.select(IOEvent, Connection)
operation is called - it delegates selecting to the first
ProcessorSelector
from chain. If first ProcessorSelector
returns not null Processor
- ChainProcessorSelector
returns it as result, otherwise next ProcessorSelector
will be taken from
chain... etc- Author:
- Alexey Stashok
-
Constructor Summary
ConstructorDescriptionChainProcessorSelector
(List<ProcessorSelector> selectorChain) ChainProcessorSelector
(ProcessorSelector... selectorChain) -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int index, ProcessorSelector element) boolean
boolean
addAll
(int index, Collection<? extends ProcessorSelector> c) boolean
addAll
(Collection<? extends ProcessorSelector> c) void
clear()
boolean
boolean
containsAll
(Collection<?> c) get
(int index) int
boolean
isEmpty()
iterator()
int
listIterator
(int index) remove
(int index) boolean
boolean
removeAll
(Collection<?> c) boolean
retainAll
(Collection<?> c) select
(IOEvent ioEvent, Connection connection) SelectsProcessor
, which will process connection event.set
(int index, ProcessorSelector element) int
size()
subList
(int fromIndex, int toIndex) Object[]
toArray()
<T> T[]
toArray
(T[] a) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.List
equals, hashCode, replaceAll, sort, spliterator
-
Constructor Details
-
ChainProcessorSelector
public ChainProcessorSelector() -
ChainProcessorSelector
-
ChainProcessorSelector
-
-
Method Details
-
select
SelectsProcessor
, which will process connection event.- Specified by:
select
in interfaceProcessorSelector
- Parameters:
ioEvent
- connection event to be processedconnection
- where event occurred- Returns:
- the
Processor
, which will process connection event.
-
size
public int size()- Specified by:
size
in interfaceCollection<ProcessorSelector>
- Specified by:
size
in interfaceList<ProcessorSelector>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceCollection<ProcessorSelector>
- Specified by:
isEmpty
in interfaceList<ProcessorSelector>
-
contains
- Specified by:
contains
in interfaceCollection<ProcessorSelector>
- Specified by:
contains
in interfaceList<ProcessorSelector>
-
iterator
- Specified by:
iterator
in interfaceCollection<ProcessorSelector>
- Specified by:
iterator
in interfaceIterable<ProcessorSelector>
- Specified by:
iterator
in interfaceList<ProcessorSelector>
-
toArray
- Specified by:
toArray
in interfaceCollection<ProcessorSelector>
- Specified by:
toArray
in interfaceList<ProcessorSelector>
-
toArray
public <T> T[] toArray(T[] a) - Specified by:
toArray
in interfaceCollection<ProcessorSelector>
- Specified by:
toArray
in interfaceList<ProcessorSelector>
-
add
- Specified by:
add
in interfaceCollection<ProcessorSelector>
- Specified by:
add
in interfaceList<ProcessorSelector>
-
remove
- Specified by:
remove
in interfaceCollection<ProcessorSelector>
- Specified by:
remove
in interfaceList<ProcessorSelector>
-
containsAll
- Specified by:
containsAll
in interfaceCollection<ProcessorSelector>
- Specified by:
containsAll
in interfaceList<ProcessorSelector>
-
addAll
- Specified by:
addAll
in interfaceCollection<ProcessorSelector>
- Specified by:
addAll
in interfaceList<ProcessorSelector>
-
addAll
- Specified by:
addAll
in interfaceList<ProcessorSelector>
-
removeAll
- Specified by:
removeAll
in interfaceCollection<ProcessorSelector>
- Specified by:
removeAll
in interfaceList<ProcessorSelector>
-
retainAll
- Specified by:
retainAll
in interfaceCollection<ProcessorSelector>
- Specified by:
retainAll
in interfaceList<ProcessorSelector>
-
clear
public void clear()- Specified by:
clear
in interfaceCollection<ProcessorSelector>
- Specified by:
clear
in interfaceList<ProcessorSelector>
-
get
- Specified by:
get
in interfaceList<ProcessorSelector>
-
set
- Specified by:
set
in interfaceList<ProcessorSelector>
-
add
- Specified by:
add
in interfaceList<ProcessorSelector>
-
remove
- Specified by:
remove
in interfaceList<ProcessorSelector>
-
indexOf
- Specified by:
indexOf
in interfaceList<ProcessorSelector>
-
lastIndexOf
- Specified by:
lastIndexOf
in interfaceList<ProcessorSelector>
-
listIterator
- Specified by:
listIterator
in interfaceList<ProcessorSelector>
-
listIterator
- Specified by:
listIterator
in interfaceList<ProcessorSelector>
-
subList
- Specified by:
subList
in interfaceList<ProcessorSelector>
-