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
`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
`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, getParallelWorkers, getPassword, getPortNumber, getProcessId, getProcessName, getRoleName, getServerName, getSocketBufferSize, getSoTimeout, getType, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEncoding, setParallelWorkers, 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