Package com.verisign.epp.framework

## Class EPPDomainHandler

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

- All Implemented Interfaces:
    `EPPEventHandler`
  Direct Known Subclasses:
    `CoaDomainHandler`, `DomainHandler`, `IdnDomainHandler`, `LowBalanceDomainHandler`, `NSDomainHandler`, `RgpDomainHandler`, `SecDNSDomainHandler`, `SecureAuthInfoDomainHandler`, `SyncDomainHandler`

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

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

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EPPDomainHandler()` | Whenever an EPPDomainHandler instance is created load the corresponsding Map Factory into the Codec

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract EPPEventResponse` | `doDomainCheck​(EPPEvent aEvent, java.lang.Object aData)` | Invoked when a Domain Check command is received.
    `protected abstract EPPEventResponse` | `doDomainCreate​(EPPEvent aEvent, java.lang.Object aData)` | Invoked when a Domain Create command is received.
    `protected abstract EPPEventResponse` | `doDomainDelete​(EPPEvent aEvent, java.lang.Object aData)` | Invoked when a Domain Delete command is received.
    `protected abstract EPPEventResponse` | `doDomainInfo​(EPPEvent aEvent, java.lang.Object aData)` | Invoked when a Domain Info command is received.
    `protected abstract EPPEventResponse` | `doDomainRenew​(EPPEvent aEvent, java.lang.Object aData)` | Invoked when a Domain Renew command is received.
    `protected abstract EPPEventResponse` | `doDomainTransfer​(EPPEvent aEvent, java.lang.Object aData)` | Invoked when a Domain Transfer command is received.
    `protected abstract EPPEventResponse` | `doDomainUpdate​(EPPEvent aEvent, java.lang.Object aData)` | Invoked when a Domain 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 domain 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 domain 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

    - #### EPPDomainHandler

          public EPPDomainHandler()

      Whenever an EPPDomainHandler instance is created load the corresponsding Map Factory into the Codec

  - ### Method Detail

    - #### getNamespace

          public final java.lang.String getNamespace()

      Returns the Namespace that this handler supports. In this case, domain.
      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 domain 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 domain 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`

    - #### doDomainCreate

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

      Invoked when a Domain Create command is received. Subclasses should define the behavior when a Domain 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.

    - #### doDomainDelete

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

      Invoked when a Domain Delete command is received. Subclasses should define the behavior when a Domain Delete 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.

    - #### doDomainInfo

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

      Invoked when a Domain Info command is received. Subclasses should define the behavior when a Domain 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.

    - #### doDomainCheck

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

      Invoked when a Domain Check command is received. Subclasses should define the behavior when a Domain 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.

    - #### doDomainRenew

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

      Invoked when a Domain Renew command is received. Subclasses should define the behavior when a Domain Renew 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.

    - #### doDomainTransfer

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

      Invoked when a Domain Transfer command is received. Subclasses should define the behavior when a Domain Transfer 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.

    - #### doDomainUpdate

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

      Invoked when a Domain Update command is received. Subclasses should define the behavior when a Domain 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.