Interface IoHandlerCommand

  • All Known Implementing Classes:
    IoHandlerChain

    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 IoHandlerCommands 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" );
         ...
       }
     }
     
    Author:
    Apache MINA Project