introduce namespace mode

This commit is contained in:
marhali 2022-04-10 13:43:21 +02:00
parent f63492ea7a
commit beb4a89df5

View File

@ -10,14 +10,20 @@ import de.marhali.easyi18n.io.folder.SingleFolderStrategy;
* @author marhali * @author marhali
*/ */
public enum FolderStrategyType { public enum FolderStrategyType {
SINGLE(SingleFolderStrategy.class), SINGLE(SingleFolderStrategy.class, false),
MODULARIZED_LOCALE(ModularLocaleFolderStrategy.class), MODULARIZED_LOCALE(ModularLocaleFolderStrategy.class, true),
MODULARIZED_NAMESPACE(ModularNamespaceFolderStrategy.class); MODULARIZED_NAMESPACE(ModularNamespaceFolderStrategy.class, false);
private final Class<? extends FolderStrategy> strategy; private final Class<? extends FolderStrategy> strategy;
private final boolean namespaceMode;
FolderStrategyType(Class<? extends FolderStrategy> strategy) { /**
* @param strategy Strategy implementation
* @param namespaceMode Does this strategy use namespaces?
*/
FolderStrategyType(Class<? extends FolderStrategy> strategy, boolean namespaceMode) {
this.strategy = strategy; this.strategy = strategy;
this.namespaceMode = namespaceMode;
} }
public Class<? extends FolderStrategy> getStrategy() { public Class<? extends FolderStrategy> getStrategy() {
@ -38,6 +44,10 @@ public enum FolderStrategyType {
throw new NullPointerException(); throw new NullPointerException();
} }
public boolean isNamespaceMode() {
return namespaceMode;
}
public static FolderStrategyType fromIndex(int index) { public static FolderStrategyType fromIndex(int index) {
return values()[index]; return values()[index];
} }