com.verisign.epp.codec.registry.v02

## Class EPPRegistrySystemInfo

- java.lang.Object
- - com.verisign.epp.codec.registry.v02.EPPRegistrySystemInfo

- All Implemented Interfaces:
    EPPCodecComponent, java.io.Serializable, java.lang.Cloneable

      public class EPPRegistrySystemInfo
      extends java.lang.Object
      implements EPPCodecComponent

  Represents the detailed information of a registry system object. Upon receiving an <info> command, with a <registry:system> element in it, the server puts a <registry:system> element in the response.
  Each element in the list contains the following info:
  - <registry:maxConnections> - The OPTIONAL attribute that contains the maximum number of connections that the client can establish with the registry system.
  - <registry:idleTimeout> - The OPTIONAL attribute that contains the idle timeout for a connection in milliseconds. If a connection does not receive a command within `idleTimeout` milliseconds, the server will close the connection.
  - <registry:absoluteTimeout> - The OPTIONAL attribute that contains the absolute timeout for a connection in milliseconds. The absolute timeout represents the maximum duration in milliseconds that a connection can be established. The server will close a connection that has been established for more than `milliseconds` milliseconds.
  - <registry:commandTimeout> - The OPTIONAL attribute that contains the command timeout for a connection in milliseconds. The server will close a connection that has an active command that exceeds `commandTimeout` milliseconds.
  - <registry:transLimit> - The OPTIONAL attribute that contains the maximum number of transactions that can be submitted on the connection per the "perMs" attribute milliseconds. It is up to server policy what to do with the connection when the client exceeds the `transLimit`.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ELM_LOCALNAME` XML local name for `EPPRegistrySystemInfo`.
    `static java.lang.String` | `ELM_NAME` XML root tag for `EPPRegistrySystemInfo`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPRegistrySystemInfo()` Default constructor.
    `EPPRegistrySystemInfo(java.lang.Integer aMaxConnections, java.lang.Integer aIdleTimeout, java.lang.Integer aAbsoluteTimeout, java.lang.Integer aCommandTimeout, java.lang.Integer aTransLimit, java.lang.Integer aPerMs)` Constructor that takes all registry system attributes.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()` Clone `EPPRegistrySystemInfo`.
    `void` | `decode(org.w3c.dom.Element aElement)` Decode the `EPPRegistrySystemInfo` attributes from the aElement DOM Element tree.
    `org.w3c.dom.Element` | `encode(org.w3c.dom.Document aDocument)` Encode a DOM Element tree from the attributes of the `EPPRegistrySystemInfo` instance.
    `boolean` | `equals(java.lang.Object aObject)` implements a deep `EPPRegistrySystemInfo` compare.
    `java.lang.Integer` | `getAbsoluteTimeout()` Gets the absolute timeout in milliseconds.
    `java.lang.Integer` | `getCommandTimeout()` Gets the command timeout in milliseconds.
    `java.lang.Integer` | `getIdleTimeout()` Gets the idle timeout in milliseconds.
    `java.lang.Integer` | `getMaxConnections()` Gets the maximum number of connections.
    `java.lang.String` | `getNamespace()` Returns the XML namespace associated with the `EPPCodecComponent`.
    `java.lang.Integer` | `getPerMs()` Gets the milliseconds that the transaction limit is associated with.
    `java.lang.Integer` | `getTransLimit()` Gets the transaction limit.
    `boolean` | `hasAbsoluteTimeout()` Is the absolute timeout set?
    `boolean` | `hasCommandTimeout()` Is the command timeout set?
    `boolean` | `hasIdleTimeout()` Is the idle timeout set?
    `boolean` | `hasMaxConnections()` Is the maximum connections set?
    `boolean` | `hasPerMs()` Is the per milliseconds attribute set?
    `boolean` | `hasTransLimit()` Is the transaction limit is set?
    `void` | `setAbsoluteTimeout(java.lang.Integer aAbsoluteTimeout)` Sets the absolute timeout in milliseconds.
    `void` | `setCommandTimeout(java.lang.Integer aCommandTimeout)` Sets the command timeout in milliseconds.
    `void` | `setIdleTimeout(java.lang.Integer aIdleTimeout)` Sets the idle timeout in milliseconds.
    `void` | `setMaxConnections(java.lang.Integer aMaxConnections)` Sets the maximum number of connections.
    `void` | `setPerMs(java.lang.Integer aPerMs)` Sets the milliseconds that the transaction limit is associated with.
    `void` | `setTransLimit(java.lang.Integer aTransLimit)` Sets the transaction limit.
    `void` | `setTransLimit(java.lang.Integer aTransLimit, java.lang.Integer aPerMs)` Sets the transaction limit with the `perMs` milliseconds.
    `java.lang.String` | `toString()` Implementation of `Object.toString`, which will result in an indented XML `String` representation of the concrete `EPPCodecComponent`.

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

      `finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### ELM_LOCALNAME

          public static final java.lang.String ELM_LOCALNAME

      XML local name for `EPPRegistrySystemInfo`.
      See Also:
        Constant Field Values

    - #### ELM_NAME

          public static final java.lang.String ELM_NAME

      XML root tag for `EPPRegistrySystemInfo`.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EPPRegistrySystemInfo

          public EPPRegistrySystemInfo()

      Default constructor.

    - #### EPPRegistrySystemInfo

          public EPPRegistrySystemInfo(java.lang.Integer aMaxConnections,
                                       java.lang.Integer aIdleTimeout,
                                       java.lang.Integer aAbsoluteTimeout,
                                       java.lang.Integer aCommandTimeout,
                                       java.lang.Integer aTransLimit,
                                       java.lang.Integer aPerMs)

      Constructor that takes all registry system attributes.
      Parameters:
        `aMaxConnections` - Maximum number of connections that the client can establish with the registry system. Set to `null` if undefined.
        `aIdleTimeout` - Idle timeout for a connection in milliseconds. Set to `null` if undefined.
        `aAbsoluteTimeout` - Absolute timeout for a connection in milliseconds. Set to `null` if undefined.
        `aCommandTimeout` - Command timeout for a connection in milliseconds. Set to `null` if undefined.
        `aTransLimit` - Maximum number of transactions that can be submitted on the connection per the "perMs" attribute milliseconds. Set to `null` if undefined.
        `aPerMs` - Number of milliseconds associated with the `transLimit` attribute. Set to `null` if undefined.

  - ### Method Detail

    - #### hasMaxConnections

          public boolean hasMaxConnections()

      Is the maximum connections set?
      Returns:
        `true` if the maximum connections is defined; `false` otherwise.

    - #### getMaxConnections

          public java.lang.Integer getMaxConnections()

      Gets the maximum number of connections.
      Returns:
        the maximum connections if defined; `null` otherwise.

    - #### setMaxConnections

          public void setMaxConnections(java.lang.Integer aMaxConnections)

      Sets the maximum number of connections.
      Parameters:
        `aMaxConnections` - the maximum number of connections to set. Set to `null` if undefined.

    - #### hasIdleTimeout

          public boolean hasIdleTimeout()

      Is the idle timeout set?
      Returns:
        `true` if the idle timeout is defined; `false` otherwise.

    - #### getIdleTimeout

          public java.lang.Integer getIdleTimeout()

      Gets the idle timeout in milliseconds.
      Returns:
        the idle timeout in milliseconds if defined; `null` otherwise.

    - #### setIdleTimeout

          public void setIdleTimeout(java.lang.Integer aIdleTimeout)

      Sets the idle timeout in milliseconds.
      Parameters:
        `aIdleTimeout` - the idle timeout in milliseconds. Set to `null` if undefined.

    - #### hasAbsoluteTimeout

          public boolean hasAbsoluteTimeout()

      Is the absolute timeout set?
      Returns:
        `true` if the absolute timeout is defined; `false` otherwise.

    - #### getAbsoluteTimeout

          public java.lang.Integer getAbsoluteTimeout()

      Gets the absolute timeout in milliseconds.
      Returns:
        the absolute timeout in milliseconds if defined; `null` otherwise.

    - #### setAbsoluteTimeout

          public void setAbsoluteTimeout(java.lang.Integer aAbsoluteTimeout)

      Sets the absolute timeout in milliseconds.
      Parameters:
        `aAbsoluteTimeout` - the absolute timeout in milliseconds to set. Set to `null` if undefined.

    - #### hasCommandTimeout

          public boolean hasCommandTimeout()

      Is the command timeout set?
      Returns:
        `true` if the command timeout is defined; `false` otherwise.

    - #### getCommandTimeout

          public java.lang.Integer getCommandTimeout()

      Gets the command timeout in milliseconds.
      Returns:
        the command timeout in milliseconds if defined; `null` otherwise.

    - #### setCommandTimeout

          public void setCommandTimeout(java.lang.Integer aCommandTimeout)

      Sets the command timeout in milliseconds.
      Parameters:
        `aCommandTimeout` - the command timeout to set. Set to `null` if undefined.

    - #### hasTransLimit

          public boolean hasTransLimit()

      Is the transaction limit is set?
      Returns:
        `true` if the transaction limit is defined; `false` otherwise.

    - #### getTransLimit

          public java.lang.Integer getTransLimit()

      Gets the transaction limit. If the transaction limit is set, the `perMs` attribute must be set.
      Returns:
        the transaction limit if defined; `null` otherwise.

    - #### setTransLimit

          public void setTransLimit(java.lang.Integer aTransLimit)

      Sets the transaction limit. If the transaction limit is set, the `perMs` attribute must be set.
      Parameters:
        `aTransLimit` - the transaction limit to set. Set to `null` if undefined.

    - #### setTransLimit

          public void setTransLimit(java.lang.Integer aTransLimit,
                                    java.lang.Integer aPerMs)

      Sets the transaction limit with the `perMs` milliseconds.
      Parameters:
        `aTransLimit` - the transaction limit to set. Set to `null` if undefined.
        `aPerMs` - Milliseconds that the transaction limit is associated with. Set to `null` if undefined.

    - #### hasPerMs

          public boolean hasPerMs()

      Is the per milliseconds attribute set?
      Returns:
        `true` if the per milliseconds attribute is defined; `false` otherwise.

    - #### getPerMs

          public java.lang.Integer getPerMs()

      Gets the milliseconds that the transaction limit is associated with.
      Returns:
        the per milliseconds if defined; `null` otherwise.

    - #### setPerMs

          public void setPerMs(java.lang.Integer aPerMs)

      Sets the milliseconds that the transaction limit is associated with.
      Parameters:
        `aPerMs` - per milliseconds to set. Set to `null` if undefined.

    - #### encode

          public org.w3c.dom.Element encode(org.w3c.dom.Document aDocument)
                                     throws EPPEncodeException

      Encode a DOM Element tree from the attributes of the `EPPRegistrySystemInfo` instance.
      Specified by:
        `encode` in interface `EPPCodecComponent`
      Parameters:
        `aDocument` - DOM Document that is being built. Used as an Element factory.
      Returns:
        Element Root DOM Element representing the `EPPRegistrySystemInfo` instance.
      Throws:
        `EPPEncodeException` - - Unable to encode `EPPRegistrySystemInfo` instance.

    - #### decode

          public void decode(org.w3c.dom.Element aElement)
                      throws EPPDecodeException

      Decode the `EPPRegistrySystemInfo` attributes from the aElement DOM Element tree.
      Specified by:
        `decode` in interface `EPPCodecComponent`
      Parameters:
        `aElement` - Root DOM Element to decode `EPPRegistrySystemInfo` from.
      Throws:
        `EPPDecodeException` - Unable to decode aElement

    - #### equals

          public boolean equals(java.lang.Object aObject)

      implements a deep `EPPRegistrySystemInfo` compare.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `aObject` - `EPPRegistrySystemInfo` instance to compare with
      Returns:
        `true` if this object is the same as the aObject argument; `false` otherwise

    - #### clone

          public java.lang.Object clone()
                                 throws java.lang.CloneNotSupportedException

      Clone `EPPRegistrySystemInfo`.
      Specified by:
        `clone` in interface `EPPCodecComponent`
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        clone of `EPPRegistrySystemInfo`
      Throws:
        `java.lang.CloneNotSupportedException` - standard Object.clone exception

    - #### toString

          public java.lang.String toString()

      Implementation of `Object.toString`, which will result in an indented XML `String` representation of the concrete `EPPCodecComponent`.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        Indented XML `String` if successful; `ERROR` otherwise.

    - #### getNamespace

          public java.lang.String getNamespace()

      Returns the XML namespace associated with the `EPPCodecComponent`.
      Specified by:
        `getNamespace` in interface `EPPCodecComponent`
      Returns:
        XML namespace for the `EPPCodecComponent`.