1
2
3
4
5
6 package gov.nist.secauto.oscal.lib.profile.resolver.policy;
7
8 import gov.nist.secauto.metaschema.core.util.CollectionUtil;
9 import gov.nist.secauto.oscal.lib.profile.resolver.support.IEntityItem;
10
11 import java.util.List;
12
13 import edu.umd.cs.findbugs.annotations.NonNull;
14
15 public abstract class AbstractMultiItemTypeReferencePolicy<TYPE>
16 extends AbstractCustomReferencePolicy<TYPE> {
17
18 @NonNull
19 private final List<IEntityItem.ItemType> itemTypes;
20
21 public AbstractMultiItemTypeReferencePolicy(
22 @NonNull IIdentifierParser identifierParser,
23 @NonNull List<IEntityItem.ItemType> itemTypes) {
24 super(identifierParser);
25 this.itemTypes = CollectionUtil.requireNonEmpty(itemTypes, "itemTypes");
26 }
27
28 @Override
29 protected List<IEntityItem.ItemType> getEntityItemTypes(@NonNull TYPE type) {
30 return itemTypes;
31 }
32 }