Package org.firebirdsql.gds.ng

## Class FbServiceProperties

- java.lang.Object
- - org.firebirdsql.gds.ng.AbstractAttachProperties<IServiceProperties>
  - - org.firebirdsql.gds.ng.FbServiceProperties

- All Implemented Interfaces:
    `IAttachProperties<IServiceProperties>`, `IServiceProperties`

      public final class FbServiceProperties
      extends AbstractAttachProperties<IServiceProperties>
      implements IServiceProperties

  Mutable implementation of `IServiceProperties`.
  Since:
    3.0
  Author:
    Mark Rotteveel
  See Also:
    `FbImmutableServiceProperties`

- - ### Field Summary

    - ### Fields inherited from interface org.firebirdsql.gds.ng.IAttachProperties

      `DEFAULT_CONNECT_TIMEOUT, DEFAULT_PORT, DEFAULT_SERVER_NAME, DEFAULT_SO_TIMEOUT, DEFAULT_SOCKET_BUFFER_SIZE`

    - ### Fields inherited from interface org.firebirdsql.gds.ng.IServiceProperties

      `DEFAULT_SERVICE_NAME`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FbServiceProperties()` | Default constructor for FbServiceProperties
    `FbServiceProperties​(IServiceProperties src)` | Copy constructor for FbServiceProperties.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `IServiceProperties` | `asImmutable()` |
    `IServiceProperties` | `asNewMutable()` |
    `protected void` | `dirtied()` | Called by setters if they have been called.
    `java.lang.String` | `getAttachObjectName()` |
    `java.lang.String` | `getServiceName()` | Get the service name
    `void` | `setServiceName​(java.lang.String serviceName)` | Set the service name.

    - ### Methods inherited from class org.firebirdsql.gds.ng.AbstractAttachProperties

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

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

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

    - ### Methods inherited from interface org.firebirdsql.gds.ng.IAttachProperties

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

- - ### Constructor Detail

    - #### FbServiceProperties

          public FbServiceProperties​(IServiceProperties src)

      Copy constructor for FbServiceProperties.

      All properties defined in `IServiceProperties` are copied from `src` to the new instance.

      Parameters:
        `src` - Source to copy from

    - #### FbServiceProperties

          public FbServiceProperties()

      Default constructor for FbServiceProperties

  - ### Method Detail

    - #### getServiceName

          public java.lang.String getServiceName()

      Description copied from interface: `IServiceProperties`
      Get the service name

      NOTE: Implementer should take care to return `IServiceProperties.DEFAULT_SERVICE_NAME` if value hasn't been set yet.

      Specified by:
        `getServiceName` in interface `IServiceProperties`
      Returns:
        Service name

    - #### setServiceName

          public void setServiceName​(java.lang.String serviceName)

      Description copied from interface: `IServiceProperties`
      Set the service name.

      NOTE: Implementer should take care to use the `IServiceProperties.DEFAULT_SERVICE_NAME` if this method hasn't been called yet.

      Specified by:
        `setServiceName` in interface `IServiceProperties`
      Parameters:
        `serviceName` - Service name

    - #### getAttachObjectName

          public java.lang.String getAttachObjectName()

      Specified by:
        `getAttachObjectName` in interface `IAttachProperties<IServiceProperties>`
      Returns:
        The name of the object to attach to (either a database or service name).

    - #### asImmutable

          public IServiceProperties asImmutable()

      Specified by:
        `asImmutable` in interface `IAttachProperties<IServiceProperties>`
      Specified by:
        `asImmutable` in interface `IServiceProperties`
      Returns:
        An immutable version of this instance as an implementation of `IServiceProperties`

    - #### asNewMutable

          public IServiceProperties asNewMutable()

      Specified by:
        `asNewMutable` in interface `IAttachProperties<IServiceProperties>`
      Specified by:
        `asNewMutable` in interface `IServiceProperties`
      Returns:
        A new, mutable, instance as an implementation of `IServiceProperties` with all properties copied.

    - #### dirtied

          protected void dirtied()

      Description copied from class: `AbstractAttachProperties`
      Called by setters if they have been called.
      Specified by:
        `dirtied` in class `AbstractAttachProperties<IServiceProperties>`