diff options
author | Keuin <[email protected]> | 2021-01-20 19:50:42 +0800 |
---|---|---|
committer | keuin <[email protected]> | 2021-01-20 19:50:42 +0800 |
commit | ac7e70883c18602e7fd4b525b9e6fb9ea9620a6b (patch) | |
tree | 63b2d65d2fe489ef0cc1fe6e9a87b65c0b69de84 /src/main/java/com/keuin/kbackupfabric/util/backup/name/BackupFileNameEncoder.java | |
parent | 7a5297de3467b1069fdf5e4a1b2aaf510ca35663 (diff) |
refactor
Diffstat (limited to 'src/main/java/com/keuin/kbackupfabric/util/backup/name/BackupFileNameEncoder.java')
-rw-r--r-- | src/main/java/com/keuin/kbackupfabric/util/backup/name/BackupFileNameEncoder.java | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/src/main/java/com/keuin/kbackupfabric/util/backup/name/BackupFileNameEncoder.java b/src/main/java/com/keuin/kbackupfabric/util/backup/name/BackupFileNameEncoder.java deleted file mode 100644 index 8ebc7ff..0000000 --- a/src/main/java/com/keuin/kbackupfabric/util/backup/name/BackupFileNameEncoder.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.keuin.kbackupfabric.util.backup.name; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; - -/** - * Encode and decode backup file name for a specific backup type. - */ -public interface BackupFileNameEncoder { - - /** - * Construct full backup file name from custom name and creation time. - * @param customName the custom name. If the custom name contains invalid chars, an exception will be thrown. - * @param time the creation time. - * @return the file name. - */ - String encode(String customName, LocalDateTime time); - - /** - * Extract custom and backup time from backup file name. - * - * @param fileName the backup file name. - * @return the information. If the given file name is invalid, return null. - */ - BackupBasicInformation decode(String fileName); - - default boolean isValidFileName(String fileName) { - return decode(fileName) != null; - } - - /** - * Check if the given string is a valid custom backup name. - * - * @param customName the custom backup name. - * @return if the name is valid. - */ - default boolean isValidCustomName(String customName) { - final char[] ILLEGAL_CHARACTERS = {'/', '\n', '\r', '\t', '\0', '\f', '`', '?', '*', '\\', '<', '>', '|', '\"', ':'}; - for (char c : ILLEGAL_CHARACTERS) { - if (customName.contains(String.valueOf(c))) { - return false; - } - } - return true; - } - - class BackupBasicInformation { - - public final String customName; - public final LocalDateTime time; - - private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm.ss"); - - protected BackupBasicInformation(String customName, LocalDateTime time) { - this.customName = customName; - this.time = time; - } - - @Override - public String toString() { - return String.format("%s, %s", customName, time.format(formatter)); - } - } -} |