deprecated, MapMCR.Foo.Bar.
*/
String defaultName() default "";
-
+
/**
* @return The {@link MCRSentinel} for the configured properties.
*/
diff --git a/mycore-base/src/main/java/org/mycore/common/config/annotation/MCRRawProperties.java b/mycore-base/src/main/java/org/mycore/common/config/annotation/MCRRawProperties.java
index d2de781cc2..7495bec9a1 100644
--- a/mycore-base/src/main/java/org/mycore/common/config/annotation/MCRRawProperties.java
+++ b/mycore-base/src/main/java/org/mycore/common/config/annotation/MCRRawProperties.java
@@ -18,14 +18,14 @@
package org.mycore.common.config.annotation;
-import org.mycore.common.config.MCRConfigurationException;
-
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import org.mycore.common.config.MCRConfigurationException;
+
/**
* This annotation is used to mark fields or methods that should be set to or called with
* a map of string values from the configuration properties.
diff --git a/mycore-base/src/main/java/org/mycore/common/config/MCRInstanceConfiguration.java b/mycore-base/src/main/java/org/mycore/common/config/instantiator/MCRInstanceConfiguration.java
similarity index 56%
rename from mycore-base/src/main/java/org/mycore/common/config/MCRInstanceConfiguration.java
rename to mycore-base/src/main/java/org/mycore/common/config/instantiator/MCRInstanceConfiguration.java
index f10d9c66ac..469e03656c 100644
--- a/mycore-base/src/main/java/org/mycore/common/config/MCRInstanceConfiguration.java
+++ b/mycore-base/src/main/java/org/mycore/common/config/instantiator/MCRInstanceConfiguration.java
@@ -16,19 +16,28 @@
* along with MyCoRe. If not, see .
*/
-package org.mycore.common.config;
+package org.mycore.common.config.instantiator;
-import java.util.Collections;
+import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.mycore.common.MCRClassTools;
+import org.mycore.common.MCRException;
+import org.mycore.common.config.MCRConfiguration2;
+import org.mycore.common.config.MCRConfigurationException;
+import org.mycore.common.config.instantiator.MCRInstanceName.Suffix;
/**
* Represents an extract of properties (typically {@link MCRConfiguration2#getPropertiesMap()}) used to
* instantiate an object. Provides methods to extract nested configurations.
*
* Generally speaking, a configuration has a {@link MCRInstanceConfiguration#name()} that represents the
- * property key used to convey the {@link MCRInstanceConfiguration#className()} of the class that should
+ * property key used to convey the {@link MCRInstanceConfiguration#valueClass()} of the class that should
* be instantiated and {@link MCRInstanceConfiguration#properties()} that are relevant for instantiation
* (i.e. properties whose key originally started with the configuration name, but with that name removed
* from the start of such keys; a configuration name of Foo.Bar and a property key of
@@ -37,69 +46,64 @@
* Each configuration (top level or nested) keeps an unmodified reference to the properties used to create
* the top level configuration.
*/
-public final class MCRInstanceConfiguration {
+public final class MCRInstanceConfiguration {
- private final MCRInstanceName name;
+ private static final Logger LOGGER = LogManager.getLogger();
+
+ private final Class superClass;
+
+ private final Class extends S> valueClass;
- private final String className;
+ private final MCRInstanceName name;
private final Map