diff --git a/tweed5-core/src/main/java/de/siphalor/tweed5/core/api/container/ConfigContainer.java b/tweed5-core/src/main/java/de/siphalor/tweed5/core/api/container/ConfigContainer.java index 8ce372d..c899e20 100644 --- a/tweed5-core/src/main/java/de/siphalor/tweed5/core/api/container/ConfigContainer.java +++ b/tweed5-core/src/main/java/de/siphalor/tweed5/core/api/container/ConfigContainer.java @@ -20,6 +20,8 @@ public interface ConfigContainer { @SuppressWarnings("rawtypes") TweedConstructFactory FACTORY = TweedConstructFactory.builder(ConfigContainer.class).build(); + ConfigContainerSetupPhase setupPhase(); + default void registerExtensions(Class... extensionClasses) { for (Class extensionClass : extensionClasses) { registerExtension(extensionClass); diff --git a/tweed5-core/src/main/java/de/siphalor/tweed5/core/api/container/ConfigContainerSetupPhase.java b/tweed5-core/src/main/java/de/siphalor/tweed5/core/api/container/ConfigContainerSetupPhase.java index 01a8991..6b51ca0 100644 --- a/tweed5-core/src/main/java/de/siphalor/tweed5/core/api/container/ConfigContainerSetupPhase.java +++ b/tweed5-core/src/main/java/de/siphalor/tweed5/core/api/container/ConfigContainerSetupPhase.java @@ -4,5 +4,5 @@ public enum ConfigContainerSetupPhase { EXTENSIONS_SETUP, TREE_SETUP, TREE_ATTACHED, - READY, + INITIALIZED, } diff --git a/tweed5-core/src/main/java/de/siphalor/tweed5/core/impl/DefaultConfigContainer.java b/tweed5-core/src/main/java/de/siphalor/tweed5/core/impl/DefaultConfigContainer.java index f336316..bf24462 100644 --- a/tweed5-core/src/main/java/de/siphalor/tweed5/core/impl/DefaultConfigContainer.java +++ b/tweed5-core/src/main/java/de/siphalor/tweed5/core/impl/DefaultConfigContainer.java @@ -201,7 +201,7 @@ public class DefaultConfigContainer implements ConfigContainer { requireSetupPhase( ConfigContainerSetupPhase.TREE_SETUP, ConfigContainerSetupPhase.TREE_ATTACHED, - ConfigContainerSetupPhase.READY + ConfigContainerSetupPhase.INITIALIZED ); try { return Optional.ofNullable(extensions.getSingleInstance(extensionClass)); @@ -215,7 +215,7 @@ public class DefaultConfigContainer implements ConfigContainer { requireSetupPhase( ConfigContainerSetupPhase.TREE_SETUP, ConfigContainerSetupPhase.TREE_ATTACHED, - ConfigContainerSetupPhase.READY + ConfigContainerSetupPhase.INITIALIZED ); return Collections.unmodifiableCollection(extensions.values()); } @@ -246,7 +246,7 @@ public class DefaultConfigContainer implements ConfigContainer { requireSetupPhase( ConfigContainerSetupPhase.TREE_SETUP, ConfigContainerSetupPhase.TREE_ATTACHED, - ConfigContainerSetupPhase.READY + ConfigContainerSetupPhase.INITIALIZED ); return registeredEntryDataExtensions; } @@ -262,12 +262,12 @@ public class DefaultConfigContainer implements ConfigContainer { } }); - setupPhase = ConfigContainerSetupPhase.READY; + setupPhase = ConfigContainerSetupPhase.INITIALIZED; } @Override public ConfigEntry rootEntry() { - requireSetupPhase(ConfigContainerSetupPhase.TREE_ATTACHED, ConfigContainerSetupPhase.READY); + requireSetupPhase(ConfigContainerSetupPhase.TREE_ATTACHED, ConfigContainerSetupPhase.INITIALIZED); assert rootEntry != null; return rootEntry; diff --git a/tweed5-core/src/test/java/de/siphalor/tweed5/core/impl/DefaultConfigContainerTest.java b/tweed5-core/src/test/java/de/siphalor/tweed5/core/impl/DefaultConfigContainerTest.java index edc5985..5e6bc83 100644 --- a/tweed5-core/src/test/java/de/siphalor/tweed5/core/impl/DefaultConfigContainerTest.java +++ b/tweed5-core/src/test/java/de/siphalor/tweed5/core/impl/DefaultConfigContainerTest.java @@ -173,7 +173,7 @@ class DefaultConfigContainerTest { assertThat(configContainer.setupPhase()).isEqualTo(ConfigContainerSetupPhase.TREE_ATTACHED); configContainer.initialize(); - assertThat(configContainer.setupPhase()).isEqualTo(ConfigContainerSetupPhase.READY); + assertThat(configContainer.setupPhase()).isEqualTo(ConfigContainerSetupPhase.INITIALIZED); var initTracker = configContainer.extension(ExtensionInitTracker.class).orElseThrow(); assertThat(initTracker.initializedEntries()).containsExactlyInAnyOrder(compoundEntry, subEntry);