From 0f86c8dae71d8d48b9724f613d42a6e4b83d60d3 Mon Sep 17 00:00:00 2001 From: marhali Date: Wed, 2 Feb 2022 22:04:13 +0100 Subject: [PATCH] move type models to io package --- .../easyi18n/dialog/SettingsDialog.java | 2 +- .../ionext/folder/FolderStrategy.java | 2 +- .../folder/ModularLocaleFolderStrategy.java | 2 +- .../ModularNamespaceFolderStrategy.java | 2 +- .../ionext/folder/SingleFolderStrategy.java | 2 +- .../ionext/parser/ParserStrategyType.java | 53 +++++++++++++++++++ .../easyi18n/model/ParserStrategyType.java | 33 ------------ .../marhali/easyi18n/model/SettingsState.java | 1 + 8 files changed, 59 insertions(+), 38 deletions(-) create mode 100644 src/main/java/de/marhali/easyi18n/ionext/parser/ParserStrategyType.java delete mode 100644 src/main/java/de/marhali/easyi18n/model/ParserStrategyType.java diff --git a/src/main/java/de/marhali/easyi18n/dialog/SettingsDialog.java b/src/main/java/de/marhali/easyi18n/dialog/SettingsDialog.java index f9b1420..5278f96 100644 --- a/src/main/java/de/marhali/easyi18n/dialog/SettingsDialog.java +++ b/src/main/java/de/marhali/easyi18n/dialog/SettingsDialog.java @@ -15,7 +15,7 @@ import de.marhali.easyi18n.InstanceManager; import de.marhali.easyi18n.io.ArrayMapper; import de.marhali.easyi18n.model.FolderStrategyType; import de.marhali.easyi18n.model.SettingsState; -import de.marhali.easyi18n.model.ParserStrategyType; +import de.marhali.easyi18n.ionext.parser.ParserStrategyType; import de.marhali.easyi18n.service.SettingsService; import javax.swing.*; diff --git a/src/main/java/de/marhali/easyi18n/ionext/folder/FolderStrategy.java b/src/main/java/de/marhali/easyi18n/ionext/folder/FolderStrategy.java index 180a101..a8c1609 100644 --- a/src/main/java/de/marhali/easyi18n/ionext/folder/FolderStrategy.java +++ b/src/main/java/de/marhali/easyi18n/ionext/folder/FolderStrategy.java @@ -3,7 +3,7 @@ package de.marhali.easyi18n.ionext.folder; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; -import de.marhali.easyi18n.model.ParserStrategyType; +import de.marhali.easyi18n.ionext.parser.ParserStrategyType; import de.marhali.easyi18n.model.SettingsState; import de.marhali.easyi18n.model.TranslationData; import de.marhali.easyi18n.model.TranslationFile; diff --git a/src/main/java/de/marhali/easyi18n/ionext/folder/ModularLocaleFolderStrategy.java b/src/main/java/de/marhali/easyi18n/ionext/folder/ModularLocaleFolderStrategy.java index e1d30ab..eca95b2 100644 --- a/src/main/java/de/marhali/easyi18n/ionext/folder/ModularLocaleFolderStrategy.java +++ b/src/main/java/de/marhali/easyi18n/ionext/folder/ModularLocaleFolderStrategy.java @@ -2,7 +2,7 @@ package de.marhali.easyi18n.ionext.folder; import com.intellij.openapi.vfs.VirtualFile; -import de.marhali.easyi18n.model.ParserStrategyType; +import de.marhali.easyi18n.ionext.parser.ParserStrategyType; import de.marhali.easyi18n.model.SettingsState; import de.marhali.easyi18n.model.TranslationData; import de.marhali.easyi18n.model.TranslationFile; diff --git a/src/main/java/de/marhali/easyi18n/ionext/folder/ModularNamespaceFolderStrategy.java b/src/main/java/de/marhali/easyi18n/ionext/folder/ModularNamespaceFolderStrategy.java index 9b094fb..bcbc08c 100644 --- a/src/main/java/de/marhali/easyi18n/ionext/folder/ModularNamespaceFolderStrategy.java +++ b/src/main/java/de/marhali/easyi18n/ionext/folder/ModularNamespaceFolderStrategy.java @@ -2,7 +2,7 @@ package de.marhali.easyi18n.ionext.folder; import com.intellij.openapi.vfs.VirtualFile; -import de.marhali.easyi18n.model.ParserStrategyType; +import de.marhali.easyi18n.ionext.parser.ParserStrategyType; import de.marhali.easyi18n.model.SettingsState; import de.marhali.easyi18n.model.TranslationData; import de.marhali.easyi18n.model.TranslationFile; diff --git a/src/main/java/de/marhali/easyi18n/ionext/folder/SingleFolderStrategy.java b/src/main/java/de/marhali/easyi18n/ionext/folder/SingleFolderStrategy.java index e9233f1..757839d 100644 --- a/src/main/java/de/marhali/easyi18n/ionext/folder/SingleFolderStrategy.java +++ b/src/main/java/de/marhali/easyi18n/ionext/folder/SingleFolderStrategy.java @@ -2,7 +2,7 @@ package de.marhali.easyi18n.ionext.folder; import com.intellij.openapi.vfs.VirtualFile; -import de.marhali.easyi18n.model.ParserStrategyType; +import de.marhali.easyi18n.ionext.parser.ParserStrategyType; import de.marhali.easyi18n.model.SettingsState; import de.marhali.easyi18n.model.TranslationData; import de.marhali.easyi18n.model.TranslationFile; diff --git a/src/main/java/de/marhali/easyi18n/ionext/parser/ParserStrategyType.java b/src/main/java/de/marhali/easyi18n/ionext/parser/ParserStrategyType.java new file mode 100644 index 0000000..0e6a52f --- /dev/null +++ b/src/main/java/de/marhali/easyi18n/ionext/parser/ParserStrategyType.java @@ -0,0 +1,53 @@ +package de.marhali.easyi18n.ionext.parser; + +import de.marhali.easyi18n.ionext.parser.json.JsonParserStrategy; +import de.marhali.easyi18n.ionext.parser.properties.PropertiesParserStrategy; +import de.marhali.easyi18n.ionext.parser.yaml.YamlParserStrategy; + +/** + * Represents all supported file parser strategies. + * @author marhali + */ +public enum ParserStrategyType { + JSON(JsonParserStrategy.class), + YAML(YamlParserStrategy.class), + YML(YamlParserStrategy.class), + PROPERTIES(PropertiesParserStrategy.class), + ARB(JsonParserStrategy.class); + + private final Class strategy; + + ParserStrategyType(Class strategy) { + this.strategy = strategy; + } + + public Class getStrategy() { + return strategy; + } + + public String getFileExtension() { + return toString().toLowerCase(); + } + + public String getExampleFilePattern() { + return "*." + this.getFileExtension(); + } + + public int toIndex() { + int index = 0; + + for(ParserStrategyType strategy : values()) { + if(strategy == this) { + return index; + } + + index++; + } + + throw new NullPointerException(); + } + + public static ParserStrategyType fromIndex(int index) { + return values()[index]; + } +} diff --git a/src/main/java/de/marhali/easyi18n/model/ParserStrategyType.java b/src/main/java/de/marhali/easyi18n/model/ParserStrategyType.java deleted file mode 100644 index 0051cf0..0000000 --- a/src/main/java/de/marhali/easyi18n/model/ParserStrategyType.java +++ /dev/null @@ -1,33 +0,0 @@ -package de.marhali.easyi18n.model; - -/** - * Represents all supported file parser strategies. - * @author marhali - */ -public enum ParserStrategyType { - JSON, - YAML, - PROPERTIES; - - public String getExampleFilePattern() { - return "*." + toString().toLowerCase(); - } - - public int toIndex() { - int index = 0; - - for(ParserStrategyType strategy : values()) { - if(strategy == this) { - return index; - } - - index++; - } - - throw new NullPointerException(); - } - - public static ParserStrategyType fromIndex(int index) { - return values()[index]; - } -} diff --git a/src/main/java/de/marhali/easyi18n/model/SettingsState.java b/src/main/java/de/marhali/easyi18n/model/SettingsState.java index 7b8293e..afa4003 100644 --- a/src/main/java/de/marhali/easyi18n/model/SettingsState.java +++ b/src/main/java/de/marhali/easyi18n/model/SettingsState.java @@ -1,5 +1,6 @@ package de.marhali.easyi18n.model; +import de.marhali.easyi18n.ionext.parser.ParserStrategyType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable;