[config] Adjust DslConfigCategory to simplify CategoryBuilderImpl.build and ConfigBuilderImpl.build

This commit is contained in:
Johannes Frohnmeyer 2022-08-31 10:18:31 +02:00
parent c32d284756
commit dbd0328b17
Signed by: Johannes
GPG Key ID: E76429612C2929F4
5 changed files with 14 additions and 12 deletions

View File

@ -184,8 +184,8 @@ public class CategoryBuilderImpl<Builder extends CategoryBuilderImpl<Builder>> i
translationPrefix,
entries,
presets,
() -> referencedConfigs.stream().map(Supplier::get).<ConfigInstance>mapMulti(Iterable::forEach).toList(),
categories.stream().collect(Collectors.toMap(CategoryBuilder::getId, b -> b.build(root))),
referencedConfigs,
categories,
root,
verifiers);
}

View File

@ -127,8 +127,8 @@ public class ConfigBuilderImpl extends CategoryBuilderImpl<ConfigBuilderImpl> im
translationPrefix,
entries,
presets,
() -> referencedConfigs.stream().map(Supplier::get).<ConfigInstance>mapMulti(Iterable::forEach).toList(),
categories.stream().collect(Collectors.toMap(CategoryBuilder::getId, b -> b.build(() -> built))),
referencedConfigs,
categories,
() -> built,
verifiers,
load,

View File

@ -1,6 +1,7 @@
package io.gitlab.jfronny.libjf.config.impl.dsl;
import io.gitlab.jfronny.libjf.config.api.v1.*;
import io.gitlab.jfronny.libjf.config.api.v1.dsl.CategoryBuilder;
import java.util.*;
import java.util.function.Consumer;
@ -13,7 +14,7 @@ public class DslConfigCategory implements ConfigCategory {
private final String translationPrefix;
private final List<EntryInfo<?>> entries;
private final Map<String, Consumer<ConfigCategory>> presets;
private final Supplier<List<ConfigInstance>> referencedConfigs;
private final List<Supplier<List<ConfigInstance>>> referencedConfigs;
private final Map<String, ConfigCategory> categories;
private final Supplier<ConfigInstance> root;
private final List<Consumer<ConfigCategory>> verifiers;
@ -23,8 +24,8 @@ public class DslConfigCategory implements ConfigCategory {
String translationPrefix,
List<EntryInfo<?>> entries,
Map<String, Consumer<ConfigCategory>> presets,
Supplier<List<ConfigInstance>> referencedConfigs,
Map<String, ConfigCategory> categories,
List<Supplier<List<ConfigInstance>>> referencedConfigs,
List<CategoryBuilder<?>> categories,
Supplier<ConfigInstance> root,
List<Consumer<ConfigCategory>> verifiers) {
this.id = id;
@ -33,7 +34,7 @@ public class DslConfigCategory implements ConfigCategory {
this.entries = entries;
this.presets = presets;
this.referencedConfigs = referencedConfigs;
this.categories = categories;
this.categories = categories.stream().collect(Collectors.toMap(CategoryBuilder::getId, b -> b.build(root)));
this.root = root;
this.verifiers = verifiers;
}
@ -68,7 +69,7 @@ public class DslConfigCategory implements ConfigCategory {
@Override
public List<ConfigInstance> getReferencedConfigs() {
return referencedConfigs.get();
return referencedConfigs.stream().map(Supplier::get).<ConfigInstance>mapMulti(Iterable::forEach).toList();
}
@Override

View File

@ -1,6 +1,7 @@
package io.gitlab.jfronny.libjf.config.impl.dsl;
import io.gitlab.jfronny.libjf.config.api.v1.*;
import io.gitlab.jfronny.libjf.config.api.v1.dsl.CategoryBuilder;
import org.jetbrains.annotations.Nullable;
import java.nio.file.Path;
@ -17,8 +18,8 @@ public class DslConfigInstance extends DslConfigCategory implements ConfigInstan
String translationPrefix,
List<EntryInfo<?>> entries,
Map<String, Consumer<ConfigCategory>> presets,
Supplier<List<ConfigInstance>> referencedConfigs,
Map<String, ConfigCategory> categories,
List<Supplier<List<ConfigInstance>>> referencedConfigs,
List<CategoryBuilder<?>> categories,
Supplier<ConfigInstance> root,
List<Consumer<ConfigCategory>> verifiers,
Consumer<ConfigInstance> load,

View File

@ -46,7 +46,7 @@ public class DynamicEntry {
private static Collection<EntrypointContainer> getEntrypointTargets(final String entrypoint) {
final List<EntrypointContainer> entrypoints = new LinkedList<>();
for (final ModContainer mod : FabricLoader.getInstance().getAllMods()) {
final List<EntrypointMetadata> modEntrypoints = ((ModContainerImpl)mod).getInfo().getEntrypoints(entrypoint);
final List<EntrypointMetadata> modEntrypoints = ((ModContainerImpl)mod).getMetadata().getEntrypoints(entrypoint);
if (modEntrypoints != null) {
for (final EntrypointMetadata metadata : modEntrypoints) {