From 6bc83eb3b31ff1f94de12ec25c56d5d193da1841 Mon Sep 17 00:00:00 2001 From: carm Date: Wed, 19 Mar 2025 18:35:45 +0800 Subject: [PATCH] chore: Optimize code format & functions. --- .../carm/lib/configuration/adapter/ValueAdapter.java | 12 ++++++++---- .../configuration/adapter/ValueAdapterRegistry.java | 9 ++++----- .../cc/carm/lib/configuration/adapter/ValueType.java | 7 +++++-- .../configuration/source/ConfigurationHolder.java | 9 ++++----- .../configuration/demo/tests/model/ItemStack.java | 8 ++++---- .../source/section/ImmutableSection.java | 4 ++-- .../lib/configuration/value/text/ConfiguredText.java | 3 +-- .../configuration/value/text/tests/ConfigTest.java | 5 +++-- 8 files changed, 31 insertions(+), 26 deletions(-) diff --git a/core/src/main/java/cc/carm/lib/configuration/adapter/ValueAdapter.java b/core/src/main/java/cc/carm/lib/configuration/adapter/ValueAdapter.java index d71d668..3721c6a 100644 --- a/core/src/main/java/cc/carm/lib/configuration/adapter/ValueAdapter.java +++ b/core/src/main/java/cc/carm/lib/configuration/adapter/ValueAdapter.java @@ -55,16 +55,20 @@ public class ValueAdapter @Override public @Nullable Object serialize( - @NotNull ConfigurationHolder holder, @NotNull ValueType type, - @NotNull TYPE value) throws Exception { + @NotNull ConfigurationHolder holder, + @NotNull ValueType type, + @NotNull TYPE value + ) throws Exception { if (serializer == null) throw new UnsupportedOperationException("Serializer is not supported"); return serializer.serialize(holder, type, value); } @Override public @Nullable TYPE parse( - @NotNull ConfigurationHolder holder, @NotNull ValueType type, - @NotNull Object value) throws Exception { + @NotNull ConfigurationHolder holder, + @NotNull ValueType type, + @NotNull Object value + ) throws Exception { if (deserializer == null) throw new UnsupportedOperationException("Deserializer is not supported"); return deserializer.parse(holder, type, value); } diff --git a/core/src/main/java/cc/carm/lib/configuration/adapter/ValueAdapterRegistry.java b/core/src/main/java/cc/carm/lib/configuration/adapter/ValueAdapterRegistry.java index f4823ab..c7b5bb5 100644 --- a/core/src/main/java/cc/carm/lib/configuration/adapter/ValueAdapterRegistry.java +++ b/core/src/main/java/cc/carm/lib/configuration/adapter/ValueAdapterRegistry.java @@ -2,7 +2,6 @@ package cc.carm.lib.configuration.adapter; import cc.carm.lib.configuration.function.DataFunction; import cc.carm.lib.configuration.source.ConfigurationHolder; -import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -84,7 +83,9 @@ public class ValueAdapterRegistry { @SuppressWarnings("unchecked") public @Nullable ValueAdapter adapterOf(@NotNull ValueType type) { - ValueAdapter matched = adapters.stream().filter(adapter -> adapter.type().equals(type)).findFirst().orElse(null); + ValueAdapter matched = adapters.stream() + .filter(adapter -> adapter.type().equals(type)) + .findFirst().orElse(null); if (matched != null) return (ValueAdapter) matched; // If no adapter found, try to find the adapter for the super type @@ -101,12 +102,10 @@ public class ValueAdapterRegistry { return adapterOf(ValueType.of(type)); } - @Contract("_,_,null -> null") public T deserialize(@NotNull ConfigurationHolder holder, @NotNull Class type, @Nullable Object source) throws Exception { return deserialize(holder, ValueType.of(type), source); } - @Contract("_,_,null -> null") public T deserialize(@NotNull ConfigurationHolder holder, @NotNull ValueType type, @Nullable Object source) throws Exception { if (source == null) return null; // Null check if (type.isInstance(source)) return type.cast(source); // Not required to deserialize @@ -115,7 +114,7 @@ public class ValueAdapterRegistry { return adapter.parse(holder, type, source); } - @Contract("_,null -> null") + @Nullable public Object serialize(@NotNull ConfigurationHolder holder, @Nullable T value) throws Exception { if (value == null) return null; // Null check ValueType type = ValueType.of(value); diff --git a/core/src/main/java/cc/carm/lib/configuration/adapter/ValueType.java b/core/src/main/java/cc/carm/lib/configuration/adapter/ValueType.java index abd39b4..d6a9209 100644 --- a/core/src/main/java/cc/carm/lib/configuration/adapter/ValueType.java +++ b/core/src/main/java/cc/carm/lib/configuration/adapter/ValueType.java @@ -5,7 +5,6 @@ import org.jetbrains.annotations.NotNull; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.List; -import java.util.Map; import java.util.Objects; /** @@ -56,10 +55,14 @@ public abstract class ValueType { }; } - public static ValueType of(final Class clazz) { + public static ValueType of(final @NotNull Class clazz) { return of((Type) clazz); } + public static ValueType> ofList(final @NotNull Class paramType) { + return of(List.class, paramType); + } + /** * Get the generic type of the complex type. * diff --git a/core/src/main/java/cc/carm/lib/configuration/source/ConfigurationHolder.java b/core/src/main/java/cc/carm/lib/configuration/source/ConfigurationHolder.java index 912c93c..6d1fb82 100644 --- a/core/src/main/java/cc/carm/lib/configuration/source/ConfigurationHolder.java +++ b/core/src/main/java/cc/carm/lib/configuration/source/ConfigurationHolder.java @@ -13,7 +13,6 @@ import cc.carm.lib.configuration.source.option.ConfigurationOptionHolder; import cc.carm.lib.configuration.source.section.ConfigureSource; import cc.carm.lib.configuration.value.ConfigValue; import cc.carm.lib.configuration.value.ValueManifest; -import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.UnmodifiableView; @@ -87,7 +86,7 @@ public abstract class ConfigurationHolder Map extractMetadata(@NotNull ConfigurationMetadata type, @NotNull Predicate filter) { + public Map extractMetadata(@NotNull ConfigurationMetadata type, @NotNull Predicate<@Nullable M> filter) { Map metas = new LinkedHashMap<>(); for (Map.Entry entry : this.metadata.entrySet()) { M data = entry.getValue().get(type); @@ -110,17 +109,17 @@ public abstract class ConfigurationHolder null") + @Nullable public T deserialize(@NotNull Class type, @Nullable Object source) throws Exception { return adapters().deserialize(this, type, source); } - @Contract("_,null -> null") + @Nullable public T deserialize(@NotNull ValueType type, @Nullable Object source) throws Exception { return adapters().deserialize(this, type, source); } - @Contract("null -> null") + @Nullable public Object serialize(@Nullable T value) throws Exception { return adapters().serialize(this, value); } diff --git a/demo/src/main/java/cc/carm/lib/configuration/demo/tests/model/ItemStack.java b/demo/src/main/java/cc/carm/lib/configuration/demo/tests/model/ItemStack.java index 1b24946..cd796e9 100644 --- a/demo/src/main/java/cc/carm/lib/configuration/demo/tests/model/ItemStack.java +++ b/demo/src/main/java/cc/carm/lib/configuration/demo/tests/model/ItemStack.java @@ -33,11 +33,11 @@ public class ItemStack { return amount; } - public String getName() { + public @Nullable String getName() { return name; } - public List getLore() { + public @Nullable List getLore() { return lore; } @@ -49,11 +49,11 @@ public class ItemStack { this.amount = amount; } - public void setName(String name) { + public void setName(@Nullable String name) { this.name = name; } - public void setLore(List lore) { + public void setLore(@Nullable List lore) { this.lore = lore; } diff --git a/features/section/src/main/java/cc/carm/lib/configuration/source/section/ImmutableSection.java b/features/section/src/main/java/cc/carm/lib/configuration/source/section/ImmutableSection.java index c2430ce..60cedbe 100644 --- a/features/section/src/main/java/cc/carm/lib/configuration/source/section/ImmutableSection.java +++ b/features/section/src/main/java/cc/carm/lib/configuration/source/section/ImmutableSection.java @@ -166,12 +166,12 @@ public class ImmutableSection implements ConfigureSection { } @Override - public @Nullable T get(@NotNull String path, @Nullable T defaults, @NotNull Class clazz) { + public @Nullable T get(@NotNull String path, T defaults, @NotNull Class clazz) { return raw().get(path, defaults, clazz); } @Override - public @Nullable T get(@NotNull String path, @Nullable T defaultValue, @NotNull DataFunction parser) { + public @Nullable T get(@NotNull String path, T defaultValue, @NotNull DataFunction parser) { return raw().get(path, defaultValue, parser); } diff --git a/features/text/src/main/java/cc/carm/lib/configuration/value/text/ConfiguredText.java b/features/text/src/main/java/cc/carm/lib/configuration/value/text/ConfiguredText.java index 87e4332..1ef7526 100644 --- a/features/text/src/main/java/cc/carm/lib/configuration/value/text/ConfiguredText.java +++ b/features/text/src/main/java/cc/carm/lib/configuration/value/text/ConfiguredText.java @@ -7,7 +7,6 @@ import cc.carm.lib.configuration.source.ConfigurationHolder; import cc.carm.lib.configuration.value.ValueManifest; import cc.carm.lib.configuration.value.standard.ConfiguredValue; import cc.carm.lib.configuration.value.text.data.TextContents; -import cc.carm.lib.configuration.value.text.function.TextDispatcher; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -50,7 +49,7 @@ public class ConfiguredText extends ConfiguredValue this.params = params; } - public TextDispatcher prepare(@NotNull Object... values) { + public PreparedText prepare(@NotNull Object... values) { return new PreparedText(resolve(), this.params) .parser(this.parser).compiler(this.compiler) .dispatcher(this.dispatcher).placeholders(values); diff --git a/features/text/src/test/java/cc/carm/lib/configuration/value/text/tests/ConfigTest.java b/features/text/src/test/java/cc/carm/lib/configuration/value/text/tests/ConfigTest.java index f86034f..4c5567d 100644 --- a/features/text/src/test/java/cc/carm/lib/configuration/value/text/tests/ConfigTest.java +++ b/features/text/src/test/java/cc/carm/lib/configuration/value/text/tests/ConfigTest.java @@ -7,6 +7,7 @@ import cc.carm.lib.configuration.value.text.tests.conf.AppMessages; import org.junit.Test; import java.io.File; +import java.util.List; public class ConfigTest { @@ -27,11 +28,11 @@ public class ConfigTest { System.out.println("--------------------------"); - AppMessages.WELCOME.prepare() + List str = AppMessages.WELCOME.prepare() .placeholders("Carm") .insert("guidance") .insert("websites", WEBSITES) - .to(System.out); + .compile(System.out); System.out.println("--------------------------");