diff --git a/core/src/main/java/cc/carm/lib/configuration/core/builder/map/ConfigMapBuilder.java b/core/src/main/java/cc/carm/lib/configuration/core/builder/map/ConfigMapBuilder.java index 74f5219..ecfa675 100644 --- a/core/src/main/java/cc/carm/lib/configuration/core/builder/map/ConfigMapBuilder.java +++ b/core/src/main/java/cc/carm/lib/configuration/core/builder/map/ConfigMapBuilder.java @@ -8,12 +8,12 @@ import java.util.function.Supplier; public class ConfigMapBuilder, K, V> { - protected final @NotNull Supplier<@NotNull M> supplier; + protected final @NotNull Supplier supplier; protected final @NotNull Class keyClass; protected final @NotNull Class valueClass; - public ConfigMapBuilder(@NotNull Supplier<@NotNull M> supplier, @NotNull Class keyClass, @NotNull Class valueClass) { + public ConfigMapBuilder(@NotNull Supplier supplier, @NotNull Class keyClass, @NotNull Class valueClass) { this.supplier = supplier; this.keyClass = keyClass; this.valueClass = valueClass; diff --git a/core/src/main/java/cc/carm/lib/configuration/core/builder/map/ConfigMapCreator.java b/core/src/main/java/cc/carm/lib/configuration/core/builder/map/ConfigMapCreator.java index 6e66efe..4b92a5b 100644 --- a/core/src/main/java/cc/carm/lib/configuration/core/builder/map/ConfigMapCreator.java +++ b/core/src/main/java/cc/carm/lib/configuration/core/builder/map/ConfigMapCreator.java @@ -2,10 +2,7 @@ package cc.carm.lib.configuration.core.builder.map; import org.jetbrains.annotations.NotNull; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.TreeMap; +import java.util.*; import java.util.function.Supplier; public class ConfigMapCreator { @@ -18,7 +15,7 @@ public class ConfigMapCreator { this.valueClass = valueClass; } - public > @NotNull ConfigMapBuilder asMap(Supplier mapSuppler) { + public > @NotNull ConfigMapBuilder asMap(Supplier mapSuppler) { return new ConfigMapBuilder<>(mapSuppler, keyClass, valueClass); } @@ -34,4 +31,8 @@ public class ConfigMapCreator { return asMap(TreeMap::new); } + public @NotNull ConfigMapBuilder, K, V> asTreeMap(@NotNull Comparator comparator) { + return asMap(() -> new TreeMap<>(comparator)); + } + } diff --git a/core/src/main/java/cc/carm/lib/configuration/core/builder/map/SectionMapBuilder.java b/core/src/main/java/cc/carm/lib/configuration/core/builder/map/SectionMapBuilder.java index 13e9764..e94fdbe 100644 --- a/core/src/main/java/cc/carm/lib/configuration/core/builder/map/SectionMapBuilder.java +++ b/core/src/main/java/cc/carm/lib/configuration/core/builder/map/SectionMapBuilder.java @@ -15,7 +15,7 @@ import java.util.function.Supplier; public class SectionMapBuilder, K, V> extends CommonConfigBuilder> { - protected final @NotNull Supplier<@NotNull M> supplier; + protected final @NotNull Supplier supplier; protected final @NotNull Class keyClass; protected @NotNull ConfigDataFunction keyParser; @@ -26,7 +26,7 @@ public class SectionMapBuilder, K, V> extends CommonConfigBu protected @NotNull ConfigDataFunction keySerializer; protected @NotNull ConfigDataFunction> valueSerializer; - public SectionMapBuilder(@NotNull Supplier<@NotNull M> supplier, + public SectionMapBuilder(@NotNull Supplier supplier, @NotNull Class keyClass, @NotNull ConfigDataFunction keyParser, @NotNull Class valueClass, @NotNull ConfigDataFunction, V> valueParser, @NotNull ConfigDataFunction keySerializer, diff --git a/core/src/main/java/cc/carm/lib/configuration/core/builder/map/SourceMapBuilder.java b/core/src/main/java/cc/carm/lib/configuration/core/builder/map/SourceMapBuilder.java index f70330c..90d6636 100644 --- a/core/src/main/java/cc/carm/lib/configuration/core/builder/map/SourceMapBuilder.java +++ b/core/src/main/java/cc/carm/lib/configuration/core/builder/map/SourceMapBuilder.java @@ -12,7 +12,7 @@ import java.util.function.Supplier; public class SourceMapBuilder, S, K, V> extends CommonConfigBuilder> { - protected final @NotNull Supplier<@NotNull M> supplier; + protected final @NotNull Supplier supplier; protected final @NotNull Class keyClass; protected @NotNull ConfigDataFunction keyParser; @@ -27,7 +27,7 @@ public class SourceMapBuilder, S, K, V> extends CommonConfig protected @NotNull ConfigDataFunction valueSerializer; protected @NotNull ConfigDataFunction sourceSerializer; - public SourceMapBuilder(@NotNull Supplier<@NotNull M> supplier, + public SourceMapBuilder(@NotNull Supplier supplier, @NotNull Class keyClass, @NotNull ConfigDataFunction keyParser, @NotNull Class sourceClass, @NotNull ConfigDataFunction sourceParser, @NotNull Class valueClass, @NotNull ConfigDataFunction valueParser,