Package org.firebirdsql.gds.ng

## Interface IAttachProperties<T extends IAttachProperties<T>>

- All Superinterfaces:
    `AttachmentProperties`, `BaseProperties`
  All Known Subinterfaces:
    `IConnectionProperties`, `IServiceProperties`
  All Known Implementing Classes:
    `AbstractAttachProperties`, `AbstractImmutableAttachProperties`, `FbConnectionProperties`, `FbImmutableConnectionProperties`, `FbImmutableServiceProperties`, `FbServiceProperties`

      public interface IAttachProperties<T extends IAttachProperties<T>>
      extends AttachmentProperties

  Common properties for database and service attach.
  Since:
    3.0
  Author:
    Mark Rotteveel

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `DEFAULT_CONNECT_TIMEOUT` |
    `static int` | `DEFAULT_SO_TIMEOUT` |
    `static int` | `DEFAULT_SOCKET_BUFFER_SIZE` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `T` | `asImmutable()` |
    `T` | `asNewMutable()` |
    `default java.lang.String` | `getAttachObjectName()` |
    `default WireCrypt` | `getWireCryptAsEnum()` |
    `boolean` | `isImmutable()` |
    `default void` | `setAttachObjectName​(java.lang.String attachObjectName)` | Sets the attach object name.
    `default void` | `setWireCryptAsEnum​(WireCrypt wireCrypt)` | Set the wire encryption level.

    - ### Methods inherited from interface org.firebirdsql.jaybird.props.AttachmentProperties

      `getAuthPlugins, getCharSet, getConnectTimeout, getDbCryptConfig, getEncoding, getPassword, getPortNumber, getProcessId, getProcessName, getRoleName, getServerName, getSocketBufferSize, getSoTimeout, getType, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEncoding, setPassword, setPortNumber, setProcessId, setProcessName, setRoleName, setServerName, setSocketBufferSize, setSoTimeout, setType, setUser, setWireCompression, setWireCrypt`

    - ### Methods inherited from interface org.firebirdsql.jaybird.props.BaseProperties

      `connectionPropertyValues, getBooleanProperty, getBooleanProperty, getIntProperty, getIntProperty, getProperty, getProperty, setBooleanProperty, setIntProperty, setProperty`

- - ### Field Detail

    - #### DEFAULT_SOCKET_BUFFER_SIZE

          static final int DEFAULT_SOCKET_BUFFER_SIZE

      See Also:
        Constant Field Values

    - #### DEFAULT_SO_TIMEOUT

          static final int DEFAULT_SO_TIMEOUT

      See Also:
        Constant Field Values

    - #### DEFAULT_CONNECT_TIMEOUT

          static final int DEFAULT_CONNECT_TIMEOUT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getAttachObjectName

          default java.lang.String getAttachObjectName()

      Returns:
        The name of the object to attach to (either a database or service name).
      See Also:
        `setAttachObjectName(String)`

    - #### setAttachObjectName

          default void setAttachObjectName​(java.lang.String attachObjectName)

      Sets the attach object name.

      For more information, see `DatabaseConnectionProperties.setDatabaseName(String)` and `ServiceConnectionProperties.setServiceName(String)`.

      Parameters:
        `attachObjectName` - Database attach object name

    - #### getWireCryptAsEnum

          default WireCrypt getWireCryptAsEnum()

      Returns:
        The value of `AttachmentProperties.getWireCrypt()` as an instance of `WireCrypt`.
      Since:
        5
      See Also:
        `AttachmentProperties.getWireCrypt()`

    - #### setWireCryptAsEnum

          default void setWireCryptAsEnum​(WireCrypt wireCrypt)

      Set the wire encryption level.
      Parameters:
        `wireCrypt` - Wire encryption level (`null` not allowed)
      Since:
        5
      See Also:
        `AttachmentProperties.setWireCrypt(String)`

    - #### asImmutable

          T asImmutable()

      Returns:
        An immutable version of this instance as an implementation of `IAttachProperties`

    - #### asNewMutable

          T asNewMutable()

      Returns:
        A new, mutable, instance as an implementation of `IAttachProperties` with all properties copied.

    - #### isImmutable

          boolean isImmutable()

      Returns:
        `true` if this is an immutable implementation, `false` if mutable
      Since:
        5