Package org.firebirdsql.management

## Interface ServiceManager

- All Known Subinterfaces:
    `BackupManager`, `MaintenanceManager`, `NBackupManager`, `StatisticsManager`, `TraceManager`, `UserManager`
  All Known Implementing Classes:
    `FBBackupManager`, `FBBackupManagerBase`, `FBMaintenanceManager`, `FBNBackupManager`, `FBServiceManager`, `FBStatisticsManager`, `FBStreamingBackupManager`, `FBTraceManager`, `FBUserManager`

      public interface ServiceManager

  The base Firebird Service API functionality.
  Author:
    Roman Rokytskyy, Steven Jardine, Mark Rotteveel

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getAuthPlugins()` | Get the list of authentication plugins to try.
    `java.lang.String` | `getCharSet()` |
    `java.lang.String` | `getDatabase()` | Returns the database path for the connection to the service manager.
    `java.lang.String` | `getDbCryptConfig()` | Get the database encryption plugin configuration.
    `java.lang.String` | `getHost()` | Returns the host for the connection to the service manager.
    `java.io.OutputStream` | `getLogger()` | Returns the logger for the connection to the service manager.
    `java.lang.String` | `getPassword()` | Returns the password for the connection to the service manager.
    `int` | `getPort()` | Returns the port for the connection to the service manager.
    `GDSServerVersion` | `getServerVersion()` | Obtains the server version through a service call.
    `java.lang.String` | `getUser()` | Returns the username for the connection to the service manager.
    `WireCrypt` | `getWireCrypt()` | Get the wire encryption level.
    `boolean` | `isWireCompression()` | Get if wire compression should be enabled.
    `void` | `setAuthPlugins​(java.lang.String authPlugins)` | Sets the authentication plugins to try.
    `void` | `setCharSet​(java.lang.String charSet)` | Sets the encoding used for encoding or decoding string values.
    `void` | `setDatabase​(java.lang.String database)` | Sets the database path for the connection to the service manager.
    `void` | `setDbCryptConfig​(java.lang.String dbCryptConfig)` | Sets the database encryption plugin configuration.
    `void` | `setHost​(java.lang.String host)` | Sets the host for the connection to the service manager.
    `void` | `setLogger​(java.io.OutputStream logger)` | Sets the logger for the connection to the service manager.
    `void` | `setPassword​(java.lang.String password)` | Sets the password for the connection to the service manager.
    `void` | `setPort​(int port)` | Sets the port for the connection to the service manager.
    `void` | `setUser​(java.lang.String user)` | Sets the username for the connection to the service manager.
    `void` | `setWireCompression​(boolean wireCompression)` | Sets if the connection should try to enable wire compression.
    `void` | `setWireCrypt​(WireCrypt wireCrypt)` | Set the wire encryption level.

- - ### Method Detail

    - #### setCharSet

          void setCharSet​(java.lang.String charSet)

      Sets the encoding used for encoding or decoding string values.

      If not set (or null), defaults to the value of system property `file.encoding`/

      Parameters:
        `charSet` - Java charset name.

    - #### getCharSet

          java.lang.String getCharSet()

    - #### setUser

          void setUser​(java.lang.String user)

      Sets the username for the connection to the service manager.
      Parameters:
        `user` - for the connection to the service manager.

    - #### getUser

          java.lang.String getUser()

      Returns the username for the connection to the service manager.
      Returns:
        the username for the connection to the service manager.

    - #### setPassword

          void setPassword​(java.lang.String password)

      Sets the password for the connection to the service manager.
      Parameters:
        `password` - for the connection to the service manager.

    - #### getPassword

          java.lang.String getPassword()

      Returns the password for the connection to the service manager.
      Returns:
        the password for the connection to the service manager.

    - #### setDatabase

          void setDatabase​(java.lang.String database)

      Sets the database path for the connection to the service manager.
      Parameters:
        `database` - path for the connection to the service manager.

    - #### getDatabase

          java.lang.String getDatabase()

      Returns the database path for the connection to the service manager.
      Returns:
        the database path for the connection to the service manager.

    - #### getHost

          java.lang.String getHost()

      Returns the host for the connection to the service manager.
      Returns:
        the host for the connection to the service manager.

    - #### setHost

          void setHost​(java.lang.String host)

      Sets the host for the connection to the service manager.
      Parameters:
        `host` - for the connection to the service manager.

    - #### getPort

          int getPort()

      Returns the port for the connection to the service manager.
      Returns:
        the port for the connection to the service manager.

    - #### setPort

          void setPort​(int port)

      Sets the port for the connection to the service manager.
      Parameters:
        `port` - for the connection to the service manager.

    - #### getWireCrypt

          WireCrypt getWireCrypt()

      Get the wire encryption level.
      Returns:
        Wire encryption level
      Since:
        4.0

    - #### setWireCrypt

          void setWireCrypt​(WireCrypt wireCrypt)

      Set the wire encryption level.
      Parameters:
        `wireCrypt` - Wire encryption level (`null` not allowed)
      Since:
        4.0

    - #### getDbCryptConfig

          java.lang.String getDbCryptConfig()

      Get the database encryption plugin configuration.
      Returns:
        Database encryption plugin configuration, meaning plugin specific
      Since:
        3.0.4

    - #### setDbCryptConfig

          void setDbCryptConfig​(java.lang.String dbCryptConfig)

      Sets the database encryption plugin configuration.
      Parameters:
        `dbCryptConfig` - Database encryption plugin configuration, meaning plugin specific
      Since:
        3.0.4

    - #### getAuthPlugins

          java.lang.String getAuthPlugins()

      Get the list of authentication plugins to try.
      Returns:
        comma-separated list of authentication plugins, or `null` for driver default
      Since:
        4.0

    - #### setAuthPlugins

          void setAuthPlugins​(java.lang.String authPlugins)

      Sets the authentication plugins to try.

      Invalid names are skipped during authentication.

      Parameters:
        `authPlugins` - comma-separated list of authentication plugins, or `null` for driver default
      Since:
        4.0

    - #### isWireCompression

          boolean isWireCompression()

      Get if wire compression should be enabled.

      Wire compression requires Firebird 3 or higher, and the server must have the zlib library. If compression cannot be negotiated, the connection will be made without wire compression.

      This property will be ignored for native connections. For native connections, the configuration in `firebird.conf` read by the client library will be used.

      Returns:
        `true` wire compression enabled
      Since:
        4.0

    - #### setWireCompression

          void setWireCompression​(boolean wireCompression)

      Sets if the connection should try to enable wire compression.
      Parameters:
        `wireCompression` - `true` enable wire compression, `false` disable wire compression (the default)
      Since:
        4.0
      See Also:
        `isWireCompression()`

    - #### getLogger

          java.io.OutputStream getLogger()

      Returns the logger for the connection to the service manager.
      Returns:
        the logger for the connection to the service manager.

    - #### setLogger

          void setLogger​(java.io.OutputStream logger)

      Sets the logger for the connection to the service manager.
      Parameters:
        `logger` - for the connection to the service manager.

    - #### getServerVersion

          GDSServerVersion getServerVersion()
                                     throws java.sql.SQLException

      Obtains the server version through a service call.
      Returns:
        Parsed server version, or `GDSServerVersion.INVALID_VERSION` if parsing failed.
      Throws:
        `java.sql.SQLException` - For errors connecting to the service manager.