com.verisign.epp.framework

## Class EPPHostHandler

- java.lang.Object
- - com.verisign.epp.framework.EPPHostHandler

- All Implemented Interfaces:
    EPPEventHandler
  Direct Known Subclasses:
    HostHandler, NSHostHandler

      public abstract class EPPHostHandler
      extends java.lang.Object
      implements EPPEventHandler

  The `EPPHostHandler` class provides an interface for handling Host EPP Commands in a Server implementation. EPPEvents are handled by the handleEvent() method here and routed to the appropriate abstract member function. Subclasses should override the abstract methods to define the desired behavior of a particular command when it is received. A subclassed instance of `EPPHostHandler` should be registered with the `EPPDispatcher` so that EEPEvents related to the Host Mapping will be handled there.
  See Also:
    `EPPEventHandler`, `EPPEvent`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPHostHandler()` Construct an instance of `EPPHostHandler`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract EPPEventResponse` | `doHostCheck(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Host Check command is received.
    `protected abstract EPPEventResponse` | `doHostCreate(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Host Create command is received.
    `protected abstract EPPEventResponse` | `doHostDelete(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Host Info command is received.
    `protected abstract EPPEventResponse` | `doHostInfo(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Host Info command is received.
    `protected abstract EPPEventResponse` | `doHostUpdate(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Host Update command is received.
    `java.lang.String` | `getNamespace()` Returns the Namespace that this handler supports.
    `EPPEventResponse` | `handleEvent(EPPEvent aEvent, java.lang.Object aData)` This method receives an `EPPEvent` and routes it to the appropriate abstract method.
    `protected void` | `postHandleEvent(EPPEvent aEvent, java.lang.Object aData)` Handles any common behavior that all gen commands need to execute after they execute their command specific behavior.
    `protected void` | `preHandleEvent(EPPEvent aEvent, java.lang.Object aData)` Handles any common behavior that all host commands need to execute before they execute their command specific behavior.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EPPHostHandler

          public EPPHostHandler()

      Construct an instance of `EPPHostHandler`

  - ### Method Detail

    - #### getNamespace

          public final java.lang.String getNamespace()

      Returns the Namespace that this handler supports. In this case, host.
      Specified by:
        `getNamespace` in interface `EPPEventHandler`
      Returns:
        String The Namespace that this handler supports

    - #### handleEvent

          public final EPPEventResponse handleEvent(EPPEvent aEvent,
                                                    java.lang.Object aData)
                                             throws EPPEventException

      This method receives an `EPPEvent` and routes it to the appropriate abstract method.
      Specified by:
        `handleEvent` in interface `EPPEventHandler`
      Parameters:
        `aEvent` - An `EPPEvent` that contains the `EPPCommand`
        `aData` - Any data that a Server needs to send to this `EPPContactHandler` instance
      Returns:
        DOCUMENT ME!
      Throws:
        `EPPEventException` - Thrown if an unrecognized `EPPEvent` is received

    - #### preHandleEvent

          protected void preHandleEvent(EPPEvent aEvent,
                                        java.lang.Object aData)
                                 throws EPPHandleEventException

      Handles any common behavior that all host commands need to execute before they execute their command specific behavior. The default implementation does nothing.
      Parameters:
        `aEvent` - The `EPPEvent` that is being handled
        `aData` - Any data that a Server needs to send to this `EPPDomainHandler`
      Throws:
        `EPPHandleEventException` - Thrown if an error condition occurs. It must contain an `EPPEventResponse`

    - #### postHandleEvent

          protected void postHandleEvent(EPPEvent aEvent,
                                         java.lang.Object aData)
                                  throws EPPHandleEventException

      Handles any common behavior that all gen commands need to execute after they execute their command specific behavior. The default implementation does nothing
      Parameters:
        `aEvent` - The `EPPEvent` that is being handled
        `aData` - Any data that a Server needs to send to this `EPPDomainHandler`
      Throws:
        `EPPHandleEventException` - Thrown if an error condition occurs. It must contain an `EPPEventResponse`

    - #### doHostCreate

          protected abstract EPPEventResponse doHostCreate(EPPEvent aEvent,
                                                           java.lang.Object aData)

      Invoked when a Host Create command is received. Subclasses should define the behavior when a Host Create command is received.
      Parameters:
        `aEvent` - The `EPPEvent` that is being handled
        `aData` - Any data that a Server needs to send to this `EPPDomainHandler`
      Returns:
        EPPEventResponse The response that should be sent back to the client.

    - #### doHostDelete

          protected abstract EPPEventResponse doHostDelete(EPPEvent aEvent,
                                                           java.lang.Object aData)

      Invoked when a Host Info command is received. Subclasses should define the behavior when a Host Info command is received.
      Parameters:
        `aEvent` - The `EPPEvent` that is being handled
        `aData` - Any data that a Server needs to send to this `EPPDomaindHandler`
      Returns:
        EPPEventResponse The response that should be sent back to the client.

    - #### doHostInfo

          protected abstract EPPEventResponse doHostInfo(EPPEvent aEvent,
                                                         java.lang.Object aData)

      Invoked when a Host Info command is received. Subclasses should define the behavior when a Host Info command is received.
      Parameters:
        `aEvent` - The `EPPEvent` that is being handled
        `aData` - Any data that a Server needs to send to this `EPPDomaindHandler`
      Returns:
        EPPEventResponse The response that should be sent back to the client.

    - #### doHostCheck

          protected abstract EPPEventResponse doHostCheck(EPPEvent aEvent,
                                                          java.lang.Object aData)

      Invoked when a Host Check command is received. Subclasses should define the behavior when a Host Check command is received.
      Parameters:
        `aEvent` - The `EPPEvent` that is being handled
        `aData` - Any data that a Server needs to send to this `EPPDomaindHandler`
      Returns:
        EPPEventResponse The response that should be sent back to the client.

    - #### doHostUpdate

          protected abstract EPPEventResponse doHostUpdate(EPPEvent aEvent,
                                                           java.lang.Object aData)

      Invoked when a Host Update command is received. Subclasses should define the behavior when a Host Update command is received.
      Parameters:
        `aEvent` - The `EPPEvent` that is being handled
        `aData` - Any data that a Server needs to send to this `EPPDomaindHandler`
      Returns:
        EPPEventResponse The response that should be sent back to the client.