Package org.firebirdsql.management

## Class FBBackupManager

- java.lang.Object
- - org.firebirdsql.management.FBServiceManager
  - - org.firebirdsql.management.FBBackupManagerBase
    - - org.firebirdsql.management.FBBackupManager

All Implemented Interfaces:
  `AttachmentProperties`, `BaseProperties`, `ServiceConnectionProperties`, `BackupManager`, `ServiceManager`

    public class FBBackupManager
    extends FBBackupManagerBase
    implements BackupManager

Implements the backup and restore functionality of Firebird Services API.

Author:
  Roman Rokytskyy, Mark Rotteveel

### Nested Class Summary

### Nested classes/interfaces inherited from class org.firebirdsql.management.FBBackupManagerBase

`FBBackupManagerBase.PathSizeStruct`

### Field Summary

### Fields inherited from class org.firebirdsql.management.FBBackupManagerBase

`noLimitRestore, restorePaths, verbose`

### Fields inherited from class org.firebirdsql.management.FBServiceManager

`BUFFER_SIZE`

### Fields inherited from interface org.firebirdsql.management.BackupManager

`BACKUP_CONVERT, BACKUP_EXPAND, BACKUP_IGNORE_CHECKSUMS, BACKUP_IGNORE_LIMBO, BACKUP_METADATA_ONLY, BACKUP_NO_GARBAGE_COLLECT, BACKUP_NON_TRANSPORTABLE, BACKUP_OLD_DESCRIPTIONS, RESTORE_DEACTIVATE_INDEX, RESTORE_NO_SHADOW, RESTORE_NO_VALIDITY, RESTORE_ONE_AT_A_TIME, RESTORE_USE_ALL_SPACE`

### Constructor Summary

Constructors
`FBBackupManager()` Create a new instance of `FBBackupManager` based on the default GDSType.
`FBBackupManager​(java.lang.String gdsType)` Create a new instance of `FBBackupManager` based on a given GDSType.
`FBBackupManager​(GDSType gdsType)` Create a new instance of `FBBackupManager` based on a given GDSType.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addBackupPath​(java.lang.String path, int size)` Add the file to the backup of the specified size.
`protected void` `addBackupsToBackupRequestBuffer​(FbService service, ServiceRequestBuffer backupSPB)` Adds the currentDatabase as a source for the backup operation
`protected void` `addBackupsToRestoreRequestBuffer​(FbService service, ServiceRequestBuffer restoreSPB)` Adds the list of backups to be used for the restore operation
`void` `backupDatabase​(int options)` Perform the backup operation.
`void` `clearBackupPaths()` Clear the information about backup paths.
`void` `restoreDatabase​(int options)` Perform the restore operation.
`void` `setBackupPath​(java.lang.String backupPath)` Sets the location of the backup file.
`protected boolean` `verboseBackup()` Whether backing up will produce verbose output

### Methods inherited from class org.firebirdsql.management.FBBackupManagerBase

`addBackupPath, addRestorePath, backupDatabase, backupMetadata, clearRestorePaths, getBackupSRB, getRestoreSRB, restoreDatabase, setDatabase, setRestorePageBufferCount, setRestorePageSize, setRestoreReadOnly, setRestoreReplace, setVerbose`

### Methods inherited from class org.firebirdsql.management.FBServiceManager

`attachDatabase, attachServiceManager, connectionPropertyValues, createRequestBuffer, executeServicesOperation, executeServicesOperation, getAuthPlugins, getBooleanProperty, getCharSet, getDatabase, getDbCryptConfig, getExpectedDb, getHost, getIntProperty, getLogger, getPassword, getPort, getPortNumber, getProperty, getServerName, getServerVersion, getServiceName, getUser, getWireCrypt, getWireCryptAsEnum, isWireCompression, queueService, setAuthPlugins, setBooleanProperty, setCharSet, setDbCryptConfig, setExpectedDb, setHost, setIntProperty, setLogger, setPassword, setPort, setPortNumber, setProperty, setServerName, setServiceName, setType, setUser, setWireCompression, setWireCryptAsEnum`

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

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

### Methods inherited from interface org.firebirdsql.jaybird.props.AttachmentProperties

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

### Methods inherited from interface org.firebirdsql.management.BackupManager

`addBackupPath, addRestorePath, backupDatabase, backupMetadata, clearRestorePaths, restoreDatabase, setDatabase, setRestorePageBufferCount, setRestorePageSize, setRestoreReadOnly, setRestoreReplace, setVerbose`

### Methods inherited from interface org.firebirdsql.jaybird.props.BaseProperties

`connectionPropertyValues, getBooleanProperty, getBooleanProperty, getIntProperty, getIntProperty, getProperty, getProperty, setBooleanProperty, setIntProperty, setProperty`

### Methods inherited from interface org.firebirdsql.jaybird.props.ServiceConnectionProperties

`getExpectedDb, getServiceName, setExpectedDb, setServiceName`

### Methods inherited from interface org.firebirdsql.management.ServiceManager

`getDatabase, getHost, getLogger, getPort, getServerVersion, getWireCryptAsEnum, setHost, setLogger, setPort, setWireCryptAsEnum`

### Constructor Detail

#### FBBackupManager

    public FBBackupManager()

Create a new instance of `FBBackupManager` based on the default GDSType.

#### FBBackupManager

    public FBBackupManager​(java.lang.String gdsType)

Create a new instance of `FBBackupManager` based on a given GDSType.

Parameters:
  `gdsType` - type must be PURE_JAVA, EMBEDDED, or NATIVE

#### FBBackupManager

    public FBBackupManager​(GDSType gdsType)

Create a new instance of `FBBackupManager` based on a given GDSType.

Parameters:
  `gdsType` - type must be PURE_JAVA, EMBEDDED, or NATIVE

### Method Detail

#### verboseBackup

    protected boolean verboseBackup()

Whether backing up will produce verbose output

Specified by:
  `verboseBackup` in class `FBBackupManagerBase`

#### setBackupPath

    public void setBackupPath​(java.lang.String backupPath)

Description copied from interface: `BackupManager`
Sets the location of the backup file. This method is used to set the path to the backup consisting of a single file. It is not possible to add multiple files or specify the max. size of the file using this method. It is also not possible to call `BackupManager.addBackupPath(String, int)` method after calling this one.

Specified by:
  `setBackupPath` in interface `BackupManager`
Parameters:
  `backupPath` - the location of the backup file.
See Also:
  `for multi-file backups.`

#### addBackupPath

    public void addBackupPath​(java.lang.String path,
                              int size)

Description copied from interface: `BackupManager`
Add the file to the backup of the specified size. Firebird allows splitting the backup into multiple files, limiting the size of the backup file. This can be useful for example for creating a backup on CD or DVD.

Specified by:
  `addBackupPath` in interface `BackupManager`
Parameters:
  `path` - path to the backup file.
  `size` - max size of the file in bytes.

#### clearBackupPaths

    public void clearBackupPaths()

Description copied from interface: `BackupManager`
Clear the information about backup paths. This method undoes all parameters set in the `BackupManager.addBackupPath(String, int)` or `BackupManager.addBackupPath(String)` methods.

Specified by:
  `clearBackupPaths` in interface `BackupManager`

#### backupDatabase

    public void backupDatabase​(int options)
                        throws java.sql.SQLException

Description copied from interface: `BackupManager`
Perform the backup operation.

Specified by:
  `backupDatabase` in interface `BackupManager`
Parameters:
  `options` - a bitmask combination of the `BACKUP_*` constants for the backup operation
Throws:
  `java.sql.SQLException` - if a database error occurs during the backup

#### restoreDatabase

    public void restoreDatabase​(int options)
                         throws java.sql.SQLException

Description copied from interface: `BackupManager`
Perform the restore operation.

Specified by:
  `restoreDatabase` in interface `BackupManager`
Parameters:
  `options` - A bitmask combination of `RESTORE_*` constants
Throws:
  `java.sql.SQLException` - if a database error occurs during the restore

#### addBackupsToBackupRequestBuffer

    protected void addBackupsToBackupRequestBuffer​(FbService service,
                                                   ServiceRequestBuffer backupSPB)
                                            throws java.sql.SQLException

Adds the currentDatabase as a source for the backup operation

Specified by:
  `addBackupsToBackupRequestBuffer` in class `FBBackupManagerBase`
Parameters:
  `backupSPB` - The buffer to be used during the backup operation
Throws:
  `java.sql.SQLException`

#### addBackupsToRestoreRequestBuffer

    protected void addBackupsToRestoreRequestBuffer​(FbService service,
                                                    ServiceRequestBuffer restoreSPB)

Adds the list of backups to be used for the restore operation

Specified by:
  `addBackupsToRestoreRequestBuffer` in class `FBBackupManagerBase`
Parameters:
  `restoreSPB` - The buffer to be used during the restore operation