Class EPPDispatcher


  • public class EPPDispatcher
    extends java.lang.Object
    A Singleton class that delegates message assembly to an EPPAssembler then routes messages to the appropriate EPPEventHandler.

    See Also:
    EPPEventHandler, EPPEvent
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static EPPDispatcher getInstance()
      Gets the one and only instance of the EPPDispatcher
      void processConnection​(java.io.InputStream aInputStream, java.io.OutputStream aOutputStream, java.lang.Object aData)
      Returns the EPPEventResponse that new connecting clients should receive.
      void processMessage​(java.io.InputStream aInputStream, java.io.OutputStream aOutputStream, java.lang.Object aData)
      Creates an EPPMessage, sends the message to the appropriate EPPEventHandler, and then sends the response on the OutputStream.
      void registerConnectionHandler​(EPPConnectionHandler aConnectionHandler)
      Registers a EPPConnectionHandler for notification of connection events
      void registerHandler​(EPPEventHandler aHandler)
      Registers an EPPEvenHandler for notification of Events.
      void send​(EPPMessage aMessage, java.io.OutputStream aOutputStream)
      Sends an EPP message to the client.
      void send​(EPPMessage aMessage, java.io.OutputStream aOutputStream, java.lang.Object aData)
      Sends an EPP message to the client.
      void setAssembler​(EPPAssembler aAssembler)
      Sets the Assembler.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getInstance

        public static EPPDispatcher getInstance()
        Gets the one and only instance of the EPPDispatcher
        Returns:
        Dispatcher The dispatcher
      • processConnection

        public void processConnection​(java.io.InputStream aInputStream,
                                      java.io.OutputStream aOutputStream,
                                      java.lang.Object aData)
        Returns the EPPEventResponse that new connecting clients should receive. In this case the EPPGreeting.
        Parameters:
        aInputStream - The InputStream of the new connection.
        aOutputStream - The OutputStream to send the response on.
        aData - Any extra data that the connection handler may need.
      • setAssembler

        public void setAssembler​(EPPAssembler aAssembler)
        Sets the Assembler. The format of the Input/Output streams determines the type of Assembler that should be used.
        Parameters:
        aAssembler - The type of Assembler to use.
      • processMessage

        public void processMessage​(java.io.InputStream aInputStream,
                                   java.io.OutputStream aOutputStream,
                                   java.lang.Object aData)
                            throws EPPEventException,
                                   EPPAssemblerException
        Creates an EPPMessage, sends the message to the appropriate EPPEventHandler, and then sends the response on the OutputStream.
        Parameters:
        aInputStream - The InputStream used to create the EPPMessage
        aOutputStream - The OutputStream to send the EPPResponse on
        aData - Any additional data that may be required by the EPPEventHandler
        Throws:
        EPPEventException - Exception related to the handling of an event
        EPPAssemblerException - Exception related to the assembling/de-assembling of messages. EPPAssemberException.isFatal can be called to determine if the exception is a fatal exception for the client session.
      • registerHandler

        public void registerHandler​(EPPEventHandler aHandler)
        Registers an EPPEvenHandler for notification of Events.
        Parameters:
        aHandler - The EPPEventhandler to register
      • registerConnectionHandler

        public void registerConnectionHandler​(EPPConnectionHandler aConnectionHandler)
        Registers a EPPConnectionHandler for notification of connection events
        Parameters:
        aConnectionHandler - The connection handler to registier
      • send

        public void send​(EPPMessage aMessage,
                         java.io.OutputStream aOutputStream)
                  throws EPPAssemblerException
        Sends an EPP message to the client.
        Parameters:
        aMessage - EPP Message to send to the client
        aOutputStream - Output stream to write the EPP Message
        Throws:
        EPPAssemblerException - Error writing message to output stream
      • send

        public void send​(EPPMessage aMessage,
                         java.io.OutputStream aOutputStream,
                         java.lang.Object aData)
                  throws EPPAssemblerException
        Sends an EPP message to the client.
        Parameters:
        aMessage - EPP Message to send to the client
        aOutputStream - Output stream to write the EPP Message
        aData - whatever data should be passed to the Assembler
        Throws:
        EPPAssemblerException - Error writing message to output stream