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
`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.