Skip to content

Commit 75afc26

Browse files
committed
MCR-3642 do not require required instances for implicit classes in collections
1 parent 38cb401 commit 75afc26

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

mycore-base/src/main/java/org/mycore/common/config/MCRConfigurableInstanceHelper.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,8 +850,8 @@ private static abstract class Source<A extends Annotation, V> {
850850

851851
public abstract V get(MCRInstanceConfiguration configuration, Target<?> target);
852852

853-
public final Set<Option> createOptions(Class<?> valueClass, boolean required) {
854-
return required && Modifier.isFinal(valueClass.getModifiers())
853+
public final Set<Option> createOptions(Class<?> valueClass) {
854+
return Modifier.isFinal(valueClass.getModifiers())
855855
? ADD_IMPLICIT_CLASS_PROPERTIES : NO_OPTIONS;
856856
}
857857

@@ -1330,7 +1330,7 @@ public Object get(MCRInstanceConfiguration configuration, Target<?> target) {
13301330
}
13311331
}
13321332

1333-
Set<Option> options = createOptions(annotation.valueClass(), annotation.required());
1333+
Set<Option> options = createOptions(annotation.valueClass());
13341334
Object instance = getInstance(annotation.valueClass(), nestedConfiguration, options);
13351335

13361336
if (!annotation.valueClass().isAssignableFrom(instance.getClass())) {
@@ -1407,7 +1407,7 @@ public Map<String, Object> get(MCRInstanceConfiguration configuration, Target<?>
14071407
+ getExampleName(configuration, "B") + ", ...");
14081408
}
14091409

1410-
Set<Option> options = createOptions(annotation.valueClass(), annotation.required());
1410+
Set<Option> options = createOptions(annotation.valueClass());
14111411
Map<String, Object> instanceMap = nestedConfigurationMap.entrySet().stream()
14121412
.collect(Collectors.toMap(Map.Entry::getKey,
14131413
entry -> getInstance(annotation.valueClass(), entry.getValue(), options)));
@@ -1503,7 +1503,7 @@ public List<Object> get(MCRInstanceConfiguration configuration, Target<?> target
15031503
+ getExampleName(configuration, "2") + ", ...");
15041504
}
15051505

1506-
Set<Option> options = createOptions(annotation.valueClass(), annotation.required());
1506+
Set<Option> options = createOptions(annotation.valueClass());
15071507
List<Object> instanceList = nestedConfigurationList.stream()
15081508
.map(c -> (Object) getInstance(annotation.valueClass(), c, options)).toList();
15091509

0 commit comments

Comments
 (0)