public interface IoHandlerCommand
A IoHandlerCommand
encapsulates a unit of processing work to be
performed, whose purpose is to examine and/or modify the state of a
transaction that is represented by custom attributes provided by
IoSession
. Individual IoHandlerCommand
s can be assembled into
a IoHandlerChain
, which allows them to either complete the
required processing or delegate further processing to the next
IoHandlerCommand
in the IoHandlerChain
.
IoHandlerCommand
implementations typically retrieve and store state
information in the IoSession
that is passed as a parameter to
the execute(NextCommand,IoSession,Object)
method, using custom
session attributes. If you think getting attributes is tedious process,
you can create a bean which contains getters and setters of all properties
and store the bean as a session attribute:
public class MyContext { public String getPropertyX() { ... }; public void setPropertyX(String propertyX) { ... }; public int getPropertyZ() { ... }; public void setPropertyZ(int propertyZ) { ... }; } public class MyHandlderCommand implements IoHandlerCommand { public void execute( NextCommand next, IoSession session, Object message ) throws Exception { MyContext ctx = session.getAttribute( "mycontext" ); ... } }
限定符和类型 | 接口和说明 |
---|---|
static interface |
IoHandlerCommand.NextCommand
Represents an indirect reference to the next
IoHandlerCommand of
the IoHandlerChain . |
限定符和类型 | 方法和说明 |
---|---|
void |
execute(IoHandlerCommand.NextCommand next,
IoSession session,
java.lang.Object message)
Execute a unit of processing work to be performed.
|
void execute(IoHandlerCommand.NextCommand next, IoSession session, java.lang.Object message) throws java.lang.Exception
Execute 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)
.
next
- 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 termination