com.verisign.epp.framework.registry.v01

## Class EPPRegistryHandler

- java.lang.Object
- - com.verisign.epp.framework.registry.v01.EPPRegistryHandler

- All Implemented Interfaces:
    EPPEventHandler
  Direct Known Subclasses:
    RegistryHandler

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

  The `EPPRegistryHandler` class provides an interface for handling EPP Registry 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 `EPPRegistryHandler` should be registered with the `EPPDispatcher` so that EEPEvents related to the Registry Mapping will be handled there.
  See Also:
    `EPPEventHandler`, `EPPEvent`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPRegistryHandler()` Construct an instance of `EPPRegistryHandler` that automatically loads the `EPPRegistryMapFactory` into the `EPPFactory`.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract EPPEventResponse` | `doRegistryCheck(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Registry Check command is received.
    `protected abstract EPPEventResponse` | `doRegistryCreate(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Registry Create command is received.
    `protected abstract EPPEventResponse` | `doRegistryDelete(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Registry Delete command is received.
    `protected abstract EPPEventResponse` | `doRegistryInfo(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Registry Info command is received.
    `protected abstract EPPEventResponse` | `doRegistryUpdate(EPPEvent aEvent, java.lang.Object aData)` Invoked when a Registry Update command is received.
    `java.lang.String` | `getNamespace()` Gets the XML namespace associated with this handler.
    `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 registry 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 registry 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

    - #### EPPRegistryHandler

          public EPPRegistryHandler()

      Construct an instance of `EPPRegistryHandler` that automatically loads the `EPPRegistryMapFactory` into the `EPPFactory`.

  - ### Method Detail

    - #### handleEvent

          public 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 `EPPRegistryHandler` instance
      Returns:
        Result of handling the event
      Throws:
        `EPPEventException` - Thrown if an unrecognized `EPPEvent` is received

    - #### doRegistryInfo

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

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

    - #### doRegistryCheck

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

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

    - #### doRegistryCreate

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

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

    - #### doRegistryUpdate

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

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

    - #### doRegistryDelete

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

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

    - #### getNamespace

          public java.lang.String getNamespace()

      Gets the XML namespace associated with this handler.
      Specified by:
        `getNamespace` in interface `EPPEventHandler`
      Returns:
        `EPPRegistryMapFactory.NS`

    - #### preHandleEvent

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

      Handles any common behavior that all registry 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 `EPPRegistryHandler`
      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 registry 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 `EPPRegistryHandler`
      Throws:
        `EPPHandleEventException` - Thrown if an error condition occurs. It must contain an `EPPEventResponse`