Class HandlerChain

All Implemented Interfaces:
FIXMessageListener, com.epam.fixengine.session.messagehandler.CompositeMessageHandlerListener, SessionMessageHandler

public final class HandlerChain extends AbstractSessionMessageHandler implements com.epam.fixengine.session.messagehandler.CompositeMessageHandlerListener
The HandlerChain provides the chain of responsibility pattern.
  • Field Details

    • compositeListener

      protected com.epam.fixengine.session.messagehandler.CompositeMessageHandler compositeListener
    • messageHandlers

      protected List<SessionMessageHandler> messageHandlers
    • preProcessMessageHandlers

      protected List<com.epam.fixengine.session.messagehandler.pre.PreProcessMessageHandler> preProcessMessageHandlers
    • postProcessMessageHandlers

      protected List<com.epam.fixengine.session.messagehandler.PostProcessMessageHandler> postProcessMessageHandlers
    • rawTags

      protected RawFIXUtil.RawTags rawTags
  • Constructor Details

    • HandlerChain

      public HandlerChain()
      Creates the HandlerChain with composite message handler.
  • Method Details

    • setFIXSession

      public void setFIXSession(ExtendedFIXSession fixSession)
      Description copied from interface: SessionMessageHandler
      Sets the extended fix session.
      Specified by:
      setFIXSession in interface SessionMessageHandler
      Overrides:
      setFIXSession in class AbstractSessionMessageHandler
      Parameters:
      fixSession - the extended fix session
      See Also:
    • addSessionMessageHandler

      public void addSessionMessageHandler(String msgType, SessionMessageHandler messageHandler)
      Adds the specific message handle.
      Parameters:
      msgType - the message type
      messageHandler - - the message handler
    • addGlobalMessageHandler

      public void addGlobalMessageHandler(AbstractGlobalMessageHandler globalMessageHandler)
      Adds the global message handler. The handler adds to the end of handlers list.
      Parameters:
      globalMessageHandler - the global message handler
    • addUserGlobalMessageHandler

      public void addUserGlobalMessageHandler(com.epam.fixengine.session.messagehandler.AbstractUserGlobalMessageHandler userMessageHandler)
    • addGlobalPostProcessMessageHandler

      public void addGlobalPostProcessMessageHandler(com.epam.fixengine.session.messagehandler.AbstractGlobalPostProcessSessionMessageHandler globalMessageHandler)
      Adds the global message handler. The handler adds to the stert of handlers list.
      Parameters:
      globalMessageHandler - the global message handler
    • addGlobalPreProcessMessageHandler

      public void addGlobalPreProcessMessageHandler(com.epam.fixengine.session.messagehandler.pre.PreProcessMessageHandler globalMessageHandler)
    • onNewMessage

      public void onNewMessage(FIXFieldList message)
      Description copied from interface: FIXMessageListener
      This method is invoked every time when FIX Engine receives application message.
      Specified by:
      onNewMessage in interface FIXMessageListener
      Parameters:
      message - the incoming message
      See Also:
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • onMessage

      public void onMessage(MsgBuf message)
      Specified by:
      onMessage in interface com.epam.fixengine.session.messagehandler.CompositeMessageHandlerListener
    • onPostProcessMessage

      public void onPostProcessMessage(MsgBuf message)
    • onSessionStateChange

      public void onSessionStateChange(SessionState sessionState)
      See Also:
    • setUserListener

      public void setUserListener(FIXSessionListener listener)
      Sets the user message compositeListener.
      Parameters:
      listener - the session compositeListener
    • addInSessionMessageListener

      public void addInSessionMessageListener(FIXMessageListener listener)
      Sets listener to receive session level incoming messages.
      Parameters:
      listener - the user listener
    • isNeedPreProcess

      public boolean isNeedPreProcess()