com.verisign.epp.pool

## Class EPPPooledGenericSession

- java.lang.Object
- - com.verisign.epp.interfaces.EPPSession
  - - com.verisign.epp.pool.EPPPooledGenericSession

- All Implemented Interfaces:
    EPPPooledSession

      public class EPPPooledGenericSession
      extends EPPSession
      implements EPPPooledSession

  Pooled generic `EPPSession`. Timestamp attributes were added to handle absolute session timeout and ensure that idle timeouts don't occur.

- - ### Field Summary

    - ### Fields inherited from class com.verisign.epp.interfaces.EPPSession

      `clientId, codec, connection, extensionServices, inputStream, language, message, MODE_ASYNC, MODE_SYNC, msgID, newPassword, OP_ACK, OP_REQ, outputStream, password, pollOp, response, responsePacket, services, transId, version, xmlStream`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPPooledGenericSession()` Default constructor for `EPPPooledGenericSession`.
    `EPPPooledGenericSession(java.lang.String aHostName, int aPortNumber)` Constructor that takes an explicit host name and port number to connect to.
    `EPPPooledGenericSession(java.lang.String aHostName, int aPortNumber, EPPSSLContext aSSLContext)` Constructor that takes an explicit host name and port number to connect to.
    `EPPPooledGenericSession(java.lang.String aHostName, int aPortNumber, java.lang.String aClientHost)` Constructor that takes an explicit server host name, server port number, and client host name to connect to.
    `EPPPooledGenericSession(java.lang.String aHostName, int aPortNumber, java.lang.String aClientHost, EPPSSLContext aSSLContext)` Constructor that takes an explicit server host name, server port number, and client host name to connect to.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getCreatedTime()` Gets the time the pooled object was created.
    `long` | `getLastTouched()` Gets the last time the pooled object was touched.
    `void` | `touch()` Sets the last touched to the current time.

    - ### Methods inherited from class com.verisign.epp.interfaces.EPPSession

      `endConnection, endSession, getClientCon, getClientID, getConnection, getInputStream, getMode, getMsgID, getNewPassword, getOutputStream, getPassword, getPollOp, getResponse, getStatusCommandType, getStatusTransId, getTransId, getVersion, hello, init, init, init, initLoginAdapter, initSession, initStreams, isModeSupported, login, logout, processDocument, processDocument, readResponse, recDocument, sendDocument, sendMessage, sendPacket, sendPoll, setClientID, setExtensions, setInputStream, setLang, setLang, setMode, setMsgID, setNewPassword, setOutputStream, setPassword, setPollOp, setServices, setStatusCommandType, setStatusTransId, setTransId, setVersion, validateClientTransId`

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

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

- - ### Constructor Detail

    - #### EPPPooledGenericSession

          public EPPPooledGenericSession()
                                  throws EPPCommandException

      Default constructor for `EPPPooledGenericSession`.
      Throws:
        `EPPCommandException` - On error

    - #### EPPPooledGenericSession

          public EPPPooledGenericSession(java.lang.String aHostName,
                                         int aPortNumber)
                                  throws EPPCommandException

      Constructor that takes an explicit host name and port number to connect to.
      Parameters:
        `aHostName` - Host name or IP address of server
        `aPortNumber` - Server port number
      Throws:
        `EPPCommandException` - Error connecting to server

    - #### EPPPooledGenericSession

          public EPPPooledGenericSession(java.lang.String aHostName,
                                         int aPortNumber,
                                         java.lang.String aClientHost)
                                  throws EPPCommandException

      Constructor that takes an explicit server host name, server port number, and client host name to connect to.
      Parameters:
        `aHostName` - Host name or IP address of host to connect to
        `aPortNumber` - Port number to connect to
        `aClientHost` - Host name or IP address to connect from
      Throws:
        `EPPCommandException` - Error connecting to server

    - #### EPPPooledGenericSession

          public EPPPooledGenericSession(java.lang.String aHostName,
                                         int aPortNumber,
                                         EPPSSLContext aSSLContext)
                                  throws EPPCommandException

      Constructor that takes an explicit host name and port number to connect to.
      Parameters:
        `aHostName` - Host name or IP address of server
        `aPortNumber` - Server port number
        `aSSLContext` - Optional specific SSL context to use
      Throws:
        `EPPCommandException` - Error connecting to server

    - #### EPPPooledGenericSession

          public EPPPooledGenericSession(java.lang.String aHostName,
                                         int aPortNumber,
                                         java.lang.String aClientHost,
                                         EPPSSLContext aSSLContext)
                                  throws EPPCommandException

      Constructor that takes an explicit server host name, server port number, and client host name to connect to.
      Parameters:
        `aHostName` - Host name or IP address of host to connect to
        `aPortNumber` - Port number to connect to
        `aClientHost` - Host name or IP address to connect from
        `aSSLContext` - Optional specific SSL context to use
      Throws:
        `EPPCommandException` - Error connecting to server

  - ### Method Detail

    - #### getCreatedTime

          public long getCreatedTime()

      Gets the time the pooled object was created.
      Specified by:
        `getCreatedTime` in interface `EPPPooledSession`
      Returns:
        Epoch time of creation

    - #### getLastTouched

          public long getLastTouched()

      Gets the last time the pooled object was touched.
      Specified by:
        `getLastTouched` in interface `EPPPooledSession`
      Returns:
        Epoch time of touch

    - #### touch

          public void touch()

      Sets the last touched to the current time.
      Specified by:
        `touch` in interface `EPPPooledSession`