]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - cms/org.argeo.cms.integration/src/org/argeo/maintenance/backup/vfs/SimpleBackupContext.java
Integrate various CMS extensions from Argeo Commons.
[gpl/argeo-slc.git] / cms / org.argeo.cms.integration / src / org / argeo / maintenance / backup / vfs / SimpleBackupContext.java
diff --git a/cms/org.argeo.cms.integration/src/org/argeo/maintenance/backup/vfs/SimpleBackupContext.java b/cms/org.argeo.cms.integration/src/org/argeo/maintenance/backup/vfs/SimpleBackupContext.java
new file mode 100644 (file)
index 0000000..257b20f
--- /dev/null
@@ -0,0 +1,48 @@
+package org.argeo.maintenance.backup.vfs;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.apache.commons.vfs2.FileSystemManager;
+
+/** Simple implementation of a backup context */
+public class SimpleBackupContext implements BackupContext {
+       private DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_HHmm");
+       private final Date timestamp;
+       private final String name;
+
+       private final FileSystemManager fileSystemManager;
+
+       public SimpleBackupContext(FileSystemManager fileSystemManager,
+                       String backupsBase, String name) {
+               this.name = name;
+               this.timestamp = new Date();
+               this.fileSystemManager = fileSystemManager;
+       }
+
+       public Date getTimestamp() {
+               return timestamp;
+       }
+
+       public String getTimestampAsString() {
+               return dateFormat.format(timestamp);
+       }
+
+       public String getSystemName() {
+               return name;
+       }
+
+       public String getRelativeFolder() {
+               return name + '/' + getTimestampAsString();
+       }
+
+       public DateFormat getDateFormat() {
+               return dateFormat;
+       }
+
+       public FileSystemManager getFileSystemManager() {
+               return fileSystemManager;
+       }
+
+}