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