public class IoHandlerChain extends java.lang.Object implements IoHandlerCommand
IoHandlerCommands.| Modifier and Type | Class and Description |
|---|---|
class |
IoHandlerChain.Entry
Represents a name-command pair that an
IoHandlerChain contains. |
IoHandlerCommand.NextCommand| Modifier and Type | Field and Description |
|---|---|
private IoHandlerChain.Entry |
head |
private int |
id |
private java.util.Map<java.lang.String,IoHandlerChain.Entry> |
name2entry |
private java.lang.String |
NEXT_COMMAND |
private static int |
nextId |
private IoHandlerChain.Entry |
tail |
| Constructor and Description |
|---|
IoHandlerChain()
Creates a new, empty chain of
IoHandlerCommands. |
| Modifier and Type | Method and Description |
|---|---|
void |
addAfter(java.lang.String baseName,
java.lang.String name,
IoHandlerCommand command) |
void |
addBefore(java.lang.String baseName,
java.lang.String name,
IoHandlerCommand command) |
void |
addFirst(java.lang.String name,
IoHandlerCommand command) |
void |
addLast(java.lang.String name,
IoHandlerCommand command) |
private void |
callNextCommand(IoHandlerChain.Entry entry,
IoSession session,
java.lang.Object message) |
private void |
checkAddable(java.lang.String name)
Checks the specified filter name is already taken and throws an exception if already taken.
|
private IoHandlerChain.Entry |
checkOldName(java.lang.String baseName)
Throws an exception when the specified filter name is not registered in this chain.
|
void |
clear() |
boolean |
contains(java.lang.Class<? extends IoHandlerCommand> commandType) |
boolean |
contains(IoHandlerCommand command) |
boolean |
contains(java.lang.String name) |
private IoHandlerCommand |
createHeadCommand() |
private IoHandlerCommand |
createTailCommand() |
private void |
deregister(IoHandlerChain.Entry entry) |
void |
execute(IoHandlerCommand.NextCommand next,
IoSession session,
java.lang.Object message)
Execute a unit of processing work to be performed.
|
IoHandlerCommand |
get(java.lang.String name) |
java.util.List<IoHandlerChain.Entry> |
getAll() |
java.util.List<IoHandlerChain.Entry> |
getAllReversed() |
IoHandlerChain.Entry |
getEntry(java.lang.String name) |
IoHandlerCommand.NextCommand |
getNextCommand(java.lang.String name) |
private void |
register(IoHandlerChain.Entry prevEntry,
java.lang.String name,
IoHandlerCommand command) |
IoHandlerCommand |
remove(java.lang.String name) |
java.lang.String |
toString() |
private static volatile int nextId
private final int id
private final java.lang.String NEXT_COMMAND
private final java.util.Map<java.lang.String,IoHandlerChain.Entry> name2entry
private final IoHandlerChain.Entry head
private final IoHandlerChain.Entry tail
public IoHandlerChain()
IoHandlerCommands.private IoHandlerCommand createHeadCommand()
private IoHandlerCommand createTailCommand()
public IoHandlerChain.Entry getEntry(java.lang.String name)
public IoHandlerCommand get(java.lang.String name)
public IoHandlerCommand.NextCommand getNextCommand(java.lang.String name)
public void addFirst(java.lang.String name,
IoHandlerCommand command)
public void addLast(java.lang.String name,
IoHandlerCommand command)
public void addBefore(java.lang.String baseName,
java.lang.String name,
IoHandlerCommand command)
public void addAfter(java.lang.String baseName,
java.lang.String name,
IoHandlerCommand command)
public IoHandlerCommand remove(java.lang.String name)
public void clear()
throws java.lang.Exception
java.lang.Exceptionprivate void register(IoHandlerChain.Entry prevEntry, java.lang.String name, IoHandlerCommand command)
private void deregister(IoHandlerChain.Entry entry)
private IoHandlerChain.Entry checkOldName(java.lang.String baseName)
private void checkAddable(java.lang.String name)
public void execute(IoHandlerCommand.NextCommand next, IoSession session, java.lang.Object message) throws java.lang.Exception
IoHandlerCommandExecute a unit of processing work to be performed. This
IoHandlerCommand may either complete the required processing
and just return to stop the processing, or delegate remaining
processing to the next IoHandlerCommand in a IoHandlerChain
containing this IoHandlerCommand by calling
IoHandlerCommand.NextCommand.execute(IoSession,Object).
execute in interface IoHandlerCommandnext - an indirect reference to the next IoHandlerCommand that
provides a way to forward the request to the next IoHandlerCommand.session - the IoSession which is associated with
this requestmessage - the message object of this requestjava.lang.Exception - general purpose exception return
to indicate abnormal terminationprivate void callNextCommand(IoHandlerChain.Entry entry, IoSession session, java.lang.Object message) throws java.lang.Exception
java.lang.Exceptionpublic java.util.List<IoHandlerChain.Entry> getAll()
public java.util.List<IoHandlerChain.Entry> getAllReversed()
public boolean contains(java.lang.String name)
public boolean contains(IoHandlerCommand command)
public boolean contains(java.lang.Class<? extends IoHandlerCommand> commandType)
public java.lang.String toString()
toString in class java.lang.Object