From 1f77cacbc519b32c182a7947010ca77c6a4d3d6f Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 18 Jul 2021 10:47:42 +0200 Subject: [PATCH] #585 - refactor: added nee interface for localized enums --- .../de/deadlocker8/budgetmaster/accounts/AccountState.java | 6 +++++- .../deadlocker8/budgetmaster/backup/AutoBackupStrategy.java | 4 +++- .../de/deadlocker8/budgetmaster/services/EntityType.java | 5 ++++- .../de/deadlocker8/budgetmaster/utils/LocalizedEnum.java | 6 ++++++ 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 src/main/java/de/deadlocker8/budgetmaster/utils/LocalizedEnum.java diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountState.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountState.java index 993d680ea..aeeda3462 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountState.java +++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountState.java @@ -1,6 +1,9 @@ package de.deadlocker8.budgetmaster.accounts; -public enum AccountState + +import de.deadlocker8.budgetmaster.utils.LocalizedEnum; + +public enum AccountState implements LocalizedEnum { FULL_ACCESS("fas fa-edit", "account.state.full.access"), READ_ONLY("fas fa-lock", "account.state.read.only"), @@ -20,6 +23,7 @@ public enum AccountState return icon; } + @Override public String getLocalizationKey() { return localizationKey; diff --git a/src/main/java/de/deadlocker8/budgetmaster/backup/AutoBackupStrategy.java b/src/main/java/de/deadlocker8/budgetmaster/backup/AutoBackupStrategy.java index da45a1e42..c2ef57c8a 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/backup/AutoBackupStrategy.java +++ b/src/main/java/de/deadlocker8/budgetmaster/backup/AutoBackupStrategy.java @@ -2,12 +2,13 @@ package de.deadlocker8.budgetmaster.backup; import de.deadlocker8.budgetmaster.database.DatabaseService; import de.deadlocker8.budgetmaster.settings.SettingsService; +import de.deadlocker8.budgetmaster.utils.LocalizedEnum; import de.thecodelabs.utils.util.Localization; import java.lang.reflect.InvocationTargetException; import java.util.Optional; -public enum AutoBackupStrategy +public enum AutoBackupStrategy implements LocalizedEnum { NONE("settings.backup.auto.strategy.none", null), LOCAL("settings.backup.auto.strategy.local", LocalBackupTask.class), @@ -23,6 +24,7 @@ public enum AutoBackupStrategy this.backupTaskType = backupTaskType; } + @Override public String getLocalizationKey() { return localizationKey; diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/EntityType.java b/src/main/java/de/deadlocker8/budgetmaster/services/EntityType.java index e1f3d8e8e..23ef363ab 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/services/EntityType.java +++ b/src/main/java/de/deadlocker8/budgetmaster/services/EntityType.java @@ -1,6 +1,8 @@ package de.deadlocker8.budgetmaster.services; -public enum EntityType +import de.deadlocker8.budgetmaster.utils.LocalizedEnum; + +public enum EntityType implements LocalizedEnum { HOME("home", "background-blue", ImportRequired.NONE), ACCOUNT("account_balance", "background-red", ImportRequired.REQUIRED), @@ -55,6 +57,7 @@ public enum EntityType return color.replace("background", "text"); } + @Override public String getLocalizationKey() { return "entity." + this.name().toLowerCase(); diff --git a/src/main/java/de/deadlocker8/budgetmaster/utils/LocalizedEnum.java b/src/main/java/de/deadlocker8/budgetmaster/utils/LocalizedEnum.java new file mode 100644 index 000000000..0e0ce079f --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/utils/LocalizedEnum.java @@ -0,0 +1,6 @@ +package de.deadlocker8.budgetmaster.utils; + +public interface LocalizedEnum +{ + String getLocalizationKey(); +} -- GitLab