blob: 4e9eb6ca01573323519fa1176bbfff030ae1f3fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package com.keuin.kbackupfabric.operation.backup;
import com.keuin.kbackupfabric.util.backup.builder.BackupFileNameBuilder;
import com.keuin.kbackupfabric.util.backup.formatter.BackupFileNameFormatter;
import java.io.IOException;
/**
* Provide specific backup method, which is implemented statelessly.
*/
public interface BackupMethod {
/**
* Perform a backup with given method. The backup will be saved as the given name.
* Note: real file name depends on the backup type.
* @param backupName the backup name.
* @return if the backup operation succeed.
*/
BackupResult backup(String backupName, String levelPath, String backupSaveDirectory) throws IOException;
boolean restore(String backupName, String levelPath, String backupSaveDirectory) throws IOException;
BackupFileNameBuilder getBackupFileNameBuilder();
BackupFileNameFormatter getBackupFileNameFormatter();
class BackupResult {
private final boolean success;
private final long backupSizeBytes;
public BackupResult(boolean success, long backupSizeBytes) {
this.success = success;
this.backupSizeBytes = backupSizeBytes;
}
public boolean isSuccess() {
return success;
}
public long getBackupSizeBytes() {
return backupSizeBytes;
}
}
}
|