Package org.glassfish.grizzly
Class ChainProcessorSelector
- java.lang.Object
-
- org.glassfish.grizzly.ChainProcessorSelector
-
- All Implemented Interfaces:
java.lang.Iterable<ProcessorSelector>,java.util.Collection<ProcessorSelector>,java.util.List<ProcessorSelector>,ProcessorSelector
public class ChainProcessorSelector extends java.lang.Object implements ProcessorSelector, java.util.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(java.util.List<ProcessorSelector> selectorChain)ChainProcessorSelector(ProcessorSelector... selectorChain)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, ProcessorSelector element)booleanadd(ProcessorSelector o)booleanaddAll(int index, java.util.Collection<? extends ProcessorSelector> c)booleanaddAll(java.util.Collection<? extends ProcessorSelector> c)voidclear()booleancontains(java.lang.Object o)booleancontainsAll(java.util.Collection<?> c)ProcessorSelectorget(int index)intindexOf(java.lang.Object o)booleanisEmpty()java.util.Iterator<ProcessorSelector>iterator()intlastIndexOf(java.lang.Object o)java.util.ListIterator<ProcessorSelector>listIterator()java.util.ListIterator<ProcessorSelector>listIterator(int index)ProcessorSelectorremove(int index)booleanremove(java.lang.Object o)booleanremoveAll(java.util.Collection<?> c)booleanretainAll(java.util.Collection<?> c)Processorselect(IOEvent ioEvent, Connection connection)SelectsProcessor, which will process connection event.ProcessorSelectorset(int index, ProcessorSelector element)intsize()java.util.List<ProcessorSelector>subList(int fromIndex, int toIndex)java.lang.Object[]toArray()<T> T[]toArray(T[] a)
-
-
-
Constructor Detail
-
ChainProcessorSelector
public ChainProcessorSelector()
-
ChainProcessorSelector
public ChainProcessorSelector(ProcessorSelector... selectorChain)
-
ChainProcessorSelector
public ChainProcessorSelector(java.util.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 interfacejava.util.Collection<ProcessorSelector>- Specified by:
sizein interfacejava.util.List<ProcessorSelector>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Collection<ProcessorSelector>- Specified by:
isEmptyin interfacejava.util.List<ProcessorSelector>
-
contains
public boolean contains(java.lang.Object o)
- Specified by:
containsin interfacejava.util.Collection<ProcessorSelector>- Specified by:
containsin interfacejava.util.List<ProcessorSelector>
-
iterator
public java.util.Iterator<ProcessorSelector> iterator()
- Specified by:
iteratorin interfacejava.util.Collection<ProcessorSelector>- Specified by:
iteratorin interfacejava.lang.Iterable<ProcessorSelector>- Specified by:
iteratorin interfacejava.util.List<ProcessorSelector>
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArrayin interfacejava.util.Collection<ProcessorSelector>- Specified by:
toArrayin interfacejava.util.List<ProcessorSelector>
-
toArray
public <T> T[] toArray(T[] a)
- Specified by:
toArrayin interfacejava.util.Collection<ProcessorSelector>- Specified by:
toArrayin interfacejava.util.List<ProcessorSelector>
-
add
public boolean add(ProcessorSelector o)
- Specified by:
addin interfacejava.util.Collection<ProcessorSelector>- Specified by:
addin interfacejava.util.List<ProcessorSelector>
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
removein interfacejava.util.Collection<ProcessorSelector>- Specified by:
removein interfacejava.util.List<ProcessorSelector>
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
- Specified by:
containsAllin interfacejava.util.Collection<ProcessorSelector>- Specified by:
containsAllin interfacejava.util.List<ProcessorSelector>
-
addAll
public boolean addAll(java.util.Collection<? extends ProcessorSelector> c)
- Specified by:
addAllin interfacejava.util.Collection<ProcessorSelector>- Specified by:
addAllin interfacejava.util.List<ProcessorSelector>
-
addAll
public boolean addAll(int index, java.util.Collection<? extends ProcessorSelector> c)- Specified by:
addAllin interfacejava.util.List<ProcessorSelector>
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
- Specified by:
removeAllin interfacejava.util.Collection<ProcessorSelector>- Specified by:
removeAllin interfacejava.util.List<ProcessorSelector>
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
- Specified by:
retainAllin interfacejava.util.Collection<ProcessorSelector>- Specified by:
retainAllin interfacejava.util.List<ProcessorSelector>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection<ProcessorSelector>- Specified by:
clearin interfacejava.util.List<ProcessorSelector>
-
get
public ProcessorSelector get(int index)
- Specified by:
getin interfacejava.util.List<ProcessorSelector>
-
set
public ProcessorSelector set(int index, ProcessorSelector element)
- Specified by:
setin interfacejava.util.List<ProcessorSelector>
-
add
public void add(int index, ProcessorSelector element)- Specified by:
addin interfacejava.util.List<ProcessorSelector>
-
remove
public ProcessorSelector remove(int index)
- Specified by:
removein interfacejava.util.List<ProcessorSelector>
-
indexOf
public int indexOf(java.lang.Object o)
- Specified by:
indexOfin interfacejava.util.List<ProcessorSelector>
-
lastIndexOf
public int lastIndexOf(java.lang.Object o)
- Specified by:
lastIndexOfin interfacejava.util.List<ProcessorSelector>
-
listIterator
public java.util.ListIterator<ProcessorSelector> listIterator()
- Specified by:
listIteratorin interfacejava.util.List<ProcessorSelector>
-
listIterator
public java.util.ListIterator<ProcessorSelector> listIterator(int index)
- Specified by:
listIteratorin interfacejava.util.List<ProcessorSelector>
-
subList
public java.util.List<ProcessorSelector> subList(int fromIndex, int toIndex)
- Specified by:
subListin interfacejava.util.List<ProcessorSelector>
-
-