Skip to content

Commit 03974c5

Browse files
committed
MCR-3642 do not require required instances for implicit classes in collections
1 parent 9ec0e35 commit 03974c5

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

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

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

819819
public abstract V get(MCRInstanceConfiguration configuration, Target<?> target);
820820

821-
public final Set<Option> createOptions(Class<?> valueClass, boolean required) {
822-
return required && Modifier.isFinal(valueClass.getModifiers())
821+
public final Set<Option> createOptions(Class<?> valueClass, boolean supportImplicitClassProperties) {
822+
return supportImplicitClassProperties && Modifier.isFinal(valueClass.getModifiers())
823823
? ADD_IMPLICIT_CLASS_PROPERTIES : NO_OPTIONS;
824824
}
825825

@@ -1166,7 +1166,7 @@ public Map<String, Object> get(MCRInstanceConfiguration configuration, Target<?>
11661166
+ getExampleName(configuration, "B") + ", ...");
11671167
}
11681168

1169-
Set<Option> options = createOptions(annotation.valueClass(), annotation.required());
1169+
Set<Option> options = createOptions(annotation.valueClass(), true);
11701170
Map<String, Object> instanceMap = nestedConfigurationMap.entrySet().stream()
11711171
.collect(Collectors.toMap(Map.Entry::getKey, entry ->
11721172
getInstance(annotation.valueClass(), entry.getValue(), options)));
@@ -1262,7 +1262,7 @@ public List<Object> get(MCRInstanceConfiguration configuration, Target<?> target
12621262
+ getExampleName(configuration, "2") + ", ...");
12631263
}
12641264

1265-
Set<Option> options = createOptions(annotation.valueClass(), annotation.required());
1265+
Set<Option> options = createOptions(annotation.valueClass(), true);
12661266
List<Object> instanceList = nestedConfigurationList.stream().map(c ->
12671267
(Object) getInstance(annotation.valueClass(), c, options)).toList();
12681268

0 commit comments

Comments
 (0)