summaryrefslogtreecommitdiff
path: root/src/main/java/com/keuin/kbackupfabric/operation/backup/method/BackupMethod.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/keuin/kbackupfabric/operation/backup/method/BackupMethod.java')
-rw-r--r--src/main/java/com/keuin/kbackupfabric/operation/backup/method/BackupMethod.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/keuin/kbackupfabric/operation/backup/method/BackupMethod.java b/src/main/java/com/keuin/kbackupfabric/operation/backup/method/BackupMethod.java
new file mode 100644
index 0000000..25a5952
--- /dev/null
+++ b/src/main/java/com/keuin/kbackupfabric/operation/backup/method/BackupMethod.java
@@ -0,0 +1,22 @@
+package com.keuin.kbackupfabric.operation.backup.method;
+
+import com.keuin.kbackupfabric.operation.backup.feedback.BackupFeedback;
+
+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.
+ */
+ BackupFeedback backup(String backupName, String levelPath, String backupSaveDirectory) throws IOException;
+
+ boolean restore(String backupName, String levelPath, String backupSaveDirectory) throws IOException;
+
+}