Module org.firebirdsql.jaybird
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 final int`
  `DEFAULT_CONNECT_TIMEOUT`
  `static final int`
  `DEFAULT_SO_TIMEOUT`
  `static final int`
  `DEFAULT_SOCKET_BUFFER_SIZE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `T`
  `asImmutable()`
  `T`
  `asNewMutable()`
  `default String`
  `getAttachObjectName()`
  `default WireCrypt`
  `getWireCryptAsEnum()`
  `boolean`
  `isImmutable()`
  `default void`
  `setAttachObjectName(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, getEnableProtocol, getEncoding, getParallelWorkers, getPassword, getPortNumber, getProcessId, getProcessName, getRoleName, getServerName, getSocketBufferSize, getSocketFactory, getSoTimeout, getType, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEnableProtocol, setEncoding, setParallelWorkers, setPassword, setPortNumber, setProcessId, setProcessName, setRoleName, setServerName, setSocketBufferSize, setSocketFactory, 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 Details

  - ### 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 Details

  - ### getAttachObjectName

    default 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(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