summaryrefslogtreecommitdiff
path: root/src/main/java/com/keuin/kbackupfabric/util/backup/builder/BackupFileNameBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/keuin/kbackupfabric/util/backup/builder/BackupFileNameBuilder.java')
-rw-r--r--src/main/java/com/keuin/kbackupfabric/util/backup/builder/BackupFileNameBuilder.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/com/keuin/kbackupfabric/util/backup/builder/BackupFileNameBuilder.java b/src/main/java/com/keuin/kbackupfabric/util/backup/builder/BackupFileNameBuilder.java
new file mode 100644
index 0000000..16c598b
--- /dev/null
+++ b/src/main/java/com/keuin/kbackupfabric/util/backup/builder/BackupFileNameBuilder.java
@@ -0,0 +1,25 @@
+package com.keuin.kbackupfabric.util.backup.builder;
+
+import com.sun.istack.internal.NotNull;
+
+import java.time.LocalDateTime;
+
+public interface BackupFileNameBuilder {
+
+ static BackupFileNameBuilder primitiveZipBackup() {
+ return PrimitiveZipBackupFileNameBuilder.getInstance();
+ }
+
+ static BackupFileNameBuilder objectTreeBackup() {
+ return ObjectTreeBackupFileNameBuilder.getInstance();
+ }
+
+ /**
+ * Build a backup file name based on given information.
+ * @param time when the backup was created.
+ * @param backupName the custom name of this backup. Note that this should be a valid file name in current file system.
+ * @return the backup file name string.
+ */
+ String build(@NotNull LocalDateTime time, @NotNull String backupName);
+
+}