com.verisign.epp.serverstub

## Class SecDNSV11SubDomainHandler

- java.lang.Object
- - com.verisign.epp.serverstub.SecDNSV11SubDomainHandler

- All Implemented Interfaces:
    SecDNSSubDomainHandler

      public class SecDNSV11SubDomainHandler
      extends java.lang.Object
      implements SecDNSSubDomainHandler

  The `SecDNSV11SubDomainHandler` class is a concrete `SecDNSSubDomainHandler` for version 1.1 of the secDNS extension. It is wrapped by the wrapping `SecDNSDomainHandler` to support multiple versions of the secDNS extension. Any version 1.1 specific behavior is handled by `SecDNSV11SubDomainHandler`.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SecDNSV11SubDomainHandler()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `EPPResponse` | `doDomainCreate(EPPDomainCreateCmd aCreateCommand, java.lang.Object aData)` Handle an EPP Domain Create Command for version 1.1 of the secDNS extension.
    `EPPDomainInfoResp` | `doDomainInfo(EPPDomainInfoCmd aInfoCommand, EPPDomainInfoResp aInfoResponse, java.lang.Object aData)` Handle an EPP Domain Info Command.
    `EPPResponse` | `doDomainUpdate(EPPDomainUpdateCmd aUpdateCommand, java.lang.Object aData)` Handle an EPP Domain Update Command for version 1.1 of the secDNS extension.

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

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

- - ### Constructor Detail

    - #### SecDNSV11SubDomainHandler

          public SecDNSV11SubDomainHandler()

  - ### Method Detail

    - #### doDomainCreate

          public EPPResponse doDomainCreate(EPPDomainCreateCmd aCreateCommand,
                                            java.lang.Object aData)

      Handle an EPP Domain Create Command for version 1.1 of the secDNS extension. The following is the handling by input domain name:
      - `key-data-interface.com` - Only support the Key Data Interface, meaning if DS data is passed that a 2306 error will be returned.
      - `ds-data-interface.com` - Only support the DS Data Interface, meaning if Key data is passed that a 2306 error will be returned.
      - `maxsiglife-not-supported.com` - If the maxSigLife element is included, a 2102 error is returned due to lack of support.
      - default - Log the input at info level and return a successful EPP response.
      Specified by:
        `doDomainCreate` in interface `SecDNSSubDomainHandler`
      Parameters:
        `aCreateCommand` - Command sent by the client
        `aData` - Server data. This is assumed to be an instance of `SessionData`.
      Returns:
        An `EPPResponse` to be returned to the client. The transaction id (client and server) is not set.

    - #### doDomainUpdate

          public EPPResponse doDomainUpdate(EPPDomainUpdateCmd aUpdateCommand,
                                            java.lang.Object aData)

      Handle an EPP Domain Update Command for version 1.1 of the secDNS extension. The following is the handling by input domain name:
      - `urgent-not-supported.com` - If the urgent attribute is true, a 2102 error is returned due to lack of support.
      - `urgent-supported-cannot-be-urgent.com` - If the urgent attribute is true, a 2306 error is returned due to the inability to complete the command with high priority.
      - `key-data-interface.com` - Only support the Key Data Interface, meaning if DS data is passed that a 2306 error will be returned.
      - `ds-data-interface.com` - Only support the DS Data Interface, meaning if Key data is passed that a 2306 error will be returned.
      - `maxsiglife-not-supported.com` - If the maxSigLife element is included with a secDNS:chg, a 2102 error is returned due to lack of support.
      - default - Log the input at info level and return a successful EPP response.
      Specified by:
        `doDomainUpdate` in interface `SecDNSSubDomainHandler`
      Parameters:
        `aUpdateCommand` - Command sent by the client
        `aData` - Server data. This is assumed to be an instance of `SessionData`.
      Returns:
        An `EPPResponse` to be returned to the client. The transaction id (client and server) is not set.

    - #### doDomainInfo

          public EPPDomainInfoResp doDomainInfo(EPPDomainInfoCmd aInfoCommand,
                                                EPPDomainInfoResp aInfoResponse,
                                                java.lang.Object aData)

      Handle an EPP Domain Info Command. The following is the handling by input domain name:
      - `key-data-interface.com` - Return response with two keys using the Key Data Interface.
      - `ds-data-interface-with-key.com` - Return response with two DS including the associated keys using the DS Data Interface.
      - `ds-data-interface-with-maxsiglife.com` - Return response with two DS using the DS Data Interface and with the <secDNS:maxSigLife> element.
      - default - Return response with two DS using DS Data Interface.
      Specified by:
        `doDomainInfo` in interface `SecDNSSubDomainHandler`
      Parameters:
        `aInfoCommand` - Command sent by the client
        `aInfoResponse` - Response filled in without the secDNS extension.
        `aData` - Server data. This is assumed to be an instance of `SessionData`.
      Returns:
        An `EPPDomainInfoResp` to be returned to the client with the secDNS extension attached.