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 and 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 and 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.