1
mirror of https://github.com/CarmJos/EasyConfiguration.git synced 2026-06-05 02:58:20 +08:00

feat!(core): Finished the design of core module

This commit is contained in:
2025-02-09 03:49:37 +08:00
parent 205db6e5b9
commit 45ca8b02d4
35 changed files with 758 additions and 613 deletions
+6 -9
View File
@@ -1,17 +1,14 @@
import cc.carm.lib.configuration.adapter.ValueAdapterRegistry;
import cc.carm.lib.configuration.adapter.ValueType;
import cc.carm.lib.configuration.adapter.strandard.PrimitiveAdapters;
import cc.carm.lib.configuration.adapter.strandard.PrimitiveAdapter;
import cc.carm.lib.configuration.source.ConfigurationProvider;
import cc.carm.lib.configuration.source.loader.ConfigurationLoader;
import cc.carm.lib.configuration.source.loader.ConfigurationInitializer;
import cc.carm.lib.configuration.source.option.ConfigurationOptionHolder;
import cc.carm.lib.configuration.value.standard.ConfiguredValue;
import cc.carm.test.config.TestSource;
import org.junit.Test;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class AdaptTest {
@@ -20,8 +17,8 @@ public class AdaptTest {
public void test() throws Exception {
ValueAdapterRegistry registry = new ValueAdapterRegistry();
registry.register(PrimitiveAdapters.ADAPTERS);
registry.register(PrimitiveAdapters.ofEnum());
registry.register(PrimitiveAdapter.ADAPTERS);
registry.register(PrimitiveAdapter.ofEnum());
registry.register(ValueType.of(Long.class), ValueType.of(Duration.class), Duration::ofMillis, Duration::toMillis);
@@ -32,8 +29,8 @@ public class AdaptTest {
);
ConfigurationProvider<TestSource> provider = new ConfigurationProvider<>(
new TestSource(), new ConfigurationLoader(),
registry, new ConfigurationOptionHolder(), new ConcurrentHashMap<>()
new TestSource(), registry, new ConfigurationOptionHolder(),
new ConcurrentHashMap<>(), new ConfigurationInitializer()
);
LocalTime v = registry.deserialize(provider, LocalTime.class, 600000L);
-1
View File
@@ -1,4 +1,3 @@
import cc.carm.lib.configuration.source.loader.PathGenerator;
import org.junit.Test;
public class NameTest {
@@ -4,7 +4,7 @@ import cc.carm.lib.configuration.adapter.ValueAdapterRegistry;
import cc.carm.lib.configuration.annotation.ConfigPath;
import cc.carm.lib.configuration.Configuration;
import cc.carm.lib.configuration.source.ConfigurationProvider;
import cc.carm.lib.configuration.source.loader.ConfigurationLoader;
import cc.carm.lib.configuration.source.loader.ConfigurationInitializer;
import cc.carm.lib.configuration.source.option.ConfigurationOptionHolder;
import org.junit.Test;
@@ -14,10 +14,13 @@ public class LoaderTest {
@Test
public void test() throws Exception {
ConfigurationProvider<TestSource> provider = new ConfigurationProvider<>(new TestSource(), new ConfigurationLoader(), new ValueAdapterRegistry(), new ConfigurationOptionHolder(), new ConcurrentHashMap<>());
ConfigurationProvider<TestSource> provider = new ConfigurationProvider<>(
new TestSource(), new ValueAdapterRegistry(), new ConfigurationOptionHolder(),
new ConcurrentHashMap<>(), new ConfigurationInitializer()
);
ConfigurationLoader loader = new ConfigurationLoader();
loader.load(provider, ROOT.class);
ConfigurationInitializer loader = new ConfigurationInitializer();
loader.initialize(provider, ROOT.class);
}
interface ROOT extends Configuration {