Package org.glassfish.grizzly
Class ChainProcessorSelector
- 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>
ProcessorSelectorimplementation, which acts like wrapper for chain ofProcessorSelectors. So, whenProcessorSelector.select(IOEvent, Connection)operation is called - it delegates selecting to the firstProcessorSelectorfrom chain. If firstProcessorSelectorreturns not nullProcessor-ChainProcessorSelectorreturns it as result, otherwise nextProcessorSelectorwill be taken from chain... etc- Author:
- Alexey Stashok
-
-
Constructor Summary
Constructors Constructor Description ChainProcessorSelector()ChainProcessorSelector(List<ProcessorSelector> selectorChain)ChainProcessorSelector(ProcessorSelector... selectorChain)
-
Method Summary
-
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 Detail
-
ChainProcessorSelector
public ChainProcessorSelector()
-
ChainProcessorSelector
public ChainProcessorSelector(ProcessorSelector... selectorChain)
-
ChainProcessorSelector
public ChainProcessorSelector(List<ProcessorSelector> selectorChain)
-
-
Method Detail
-
select
public Processor select(IOEvent ioEvent, Connection connection)
SelectsProcessor, which will process connection event.- Specified by:
selectin 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:
sizein interfaceCollection<ProcessorSelector>- Specified by:
sizein interfaceList<ProcessorSelector>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceCollection<ProcessorSelector>- Specified by:
isEmptyin interfaceList<ProcessorSelector>
-
contains
public boolean contains(Object o)
- Specified by:
containsin interfaceCollection<ProcessorSelector>- Specified by:
containsin interfaceList<ProcessorSelector>
-
iterator
public Iterator<ProcessorSelector> iterator()
- Specified by:
iteratorin interfaceCollection<ProcessorSelector>- Specified by:
iteratorin interfaceIterable<ProcessorSelector>- Specified by:
iteratorin interfaceList<ProcessorSelector>
-
toArray
public Object[] toArray()
- Specified by:
toArrayin interfaceCollection<ProcessorSelector>- Specified by:
toArrayin interfaceList<ProcessorSelector>
-
toArray
public <T> T[] toArray(T[] a)
- Specified by:
toArrayin interfaceCollection<ProcessorSelector>- Specified by:
toArrayin interfaceList<ProcessorSelector>
-
add
public boolean add(ProcessorSelector o)
- Specified by:
addin interfaceCollection<ProcessorSelector>- Specified by:
addin interfaceList<ProcessorSelector>
-
remove
public boolean remove(Object o)
- Specified by:
removein interfaceCollection<ProcessorSelector>- Specified by:
removein interfaceList<ProcessorSelector>
-
containsAll
public boolean containsAll(Collection<?> c)
- Specified by:
containsAllin interfaceCollection<ProcessorSelector>- Specified by:
containsAllin interfaceList<ProcessorSelector>
-
addAll
public boolean addAll(Collection<? extends ProcessorSelector> c)
- Specified by:
addAllin interfaceCollection<ProcessorSelector>- Specified by:
addAllin interfaceList<ProcessorSelector>
-
addAll
public boolean addAll(int index, Collection<? extends ProcessorSelector> c)- Specified by:
addAllin interfaceList<ProcessorSelector>
-
removeAll
public boolean removeAll(Collection<?> c)
- Specified by:
removeAllin interfaceCollection<ProcessorSelector>- Specified by:
removeAllin interfaceList<ProcessorSelector>
-
retainAll
public boolean retainAll(Collection<?> c)
- Specified by:
retainAllin interfaceCollection<ProcessorSelector>- Specified by:
retainAllin interfaceList<ProcessorSelector>
-
clear
public void clear()
- Specified by:
clearin interfaceCollection<ProcessorSelector>- Specified by:
clearin interfaceList<ProcessorSelector>
-
get
public ProcessorSelector get(int index)
- Specified by:
getin interfaceList<ProcessorSelector>
-
set
public ProcessorSelector set(int index, ProcessorSelector element)
- Specified by:
setin interfaceList<ProcessorSelector>
-
add
public void add(int index, ProcessorSelector element)- Specified by:
addin interfaceList<ProcessorSelector>
-
remove
public ProcessorSelector remove(int index)
- Specified by:
removein interfaceList<ProcessorSelector>
-
indexOf
public int indexOf(Object o)
- Specified by:
indexOfin interfaceList<ProcessorSelector>
-
lastIndexOf
public int lastIndexOf(Object o)
- Specified by:
lastIndexOfin interfaceList<ProcessorSelector>
-
listIterator
public ListIterator<ProcessorSelector> listIterator()
- Specified by:
listIteratorin interfaceList<ProcessorSelector>
-
listIterator
public ListIterator<ProcessorSelector> listIterator(int index)
- Specified by:
listIteratorin interfaceList<ProcessorSelector>
-
subList
public List<ProcessorSelector> subList(int fromIndex, int toIndex)
- Specified by:
subListin interfaceList<ProcessorSelector>
-
-