Class BasicIndexer
java.lang.Object
dev.metaschema.oscal.lib.profile.resolver.support.BasicIndexer
- All Implemented Interfaces:
IIndexer
- Direct Known Subclasses:
ReassignmentIndexer
-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.metaschema.oscal.lib.profile.resolver.support.IIndexer
IIndexer.SelectionStatus -
Field Summary
Fields inherited from interface dev.metaschema.oscal.lib.profile.resolver.support.IIndexer
HAS_PROP_KEEP_METAPATH, KEEP_ENTITY_PREDICATE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddControl(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item) addGroup(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item) protected IEntityItemaddItem(dev.metaschema.oscal.lib.profile.resolver.support.AbstractEntityItem.Builder builder) protected IEntityItemaddItem(IEntityItem item) addLocation(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item) addParameter(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item) addPart(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item) addParty(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item) addResource(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item) addRole(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item) voidGet a copy of the entity map.getEntitiesByItemType(IEntityItem.ItemType itemType) getEntity(IEntityItem.ItemType itemType, String identifier, boolean normalize) Lookup an item of the givenitemTypehaving the givenidentifier.getSelectionStatus(dev.metaschema.core.metapath.item.node.INodeItem item) Map<dev.metaschema.core.metapath.item.node.INodeItem,IIndexer.SelectionStatus> booleanisSelected(IEntityItem entity) protected dev.metaschema.oscal.lib.profile.resolver.support.AbstractEntityItem.BuildernewBuilder(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item, IEntityItem.ItemType itemType, String identifier) Create a new builder with the provided info.protected final dev.metaschema.oscal.lib.profile.resolver.support.AbstractEntityItem.BuildernewBuilder(dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item, IEntityItem.ItemType itemType, UUID identifier) normalizeIdentifier(String identifier) Lower case UUID-based identifiers and leave others unmodified.booleanremoveItem(IEntityItem entity) voidvoidsetSelectionStatus(dev.metaschema.core.metapath.item.node.INodeItem item, IIndexer.SelectionStatus selectionStatus)
-
Constructor Details
-
BasicIndexer
public BasicIndexer() -
BasicIndexer
-
-
Method Details
-
append
-
setSelectionStatus
public void setSelectionStatus(@NonNull dev.metaschema.core.metapath.item.node.INodeItem item, @NonNull IIndexer.SelectionStatus selectionStatus) - Specified by:
setSelectionStatusin interfaceIIndexer
-
getSelectionStatusMap
public Map<dev.metaschema.core.metapath.item.node.INodeItem,IIndexer.SelectionStatus> getSelectionStatusMap()- Specified by:
getSelectionStatusMapin interfaceIIndexer
-
getSelectionStatus
public IIndexer.SelectionStatus getSelectionStatus(@NonNull dev.metaschema.core.metapath.item.node.INodeItem item) - Specified by:
getSelectionStatusin interfaceIIndexer
-
resetSelectionStatus
- Specified by:
resetSelectionStatusin interfaceIIndexer
-
isSelected
- Specified by:
isSelectedin interfaceIIndexer
-
getEntities
Description copied from interface:IIndexerGet a copy of the entity map.- Specified by:
getEntitiesin interfaceIIndexer- Returns:
- the copy
-
getEntitiesByItemType
@NonNull public Collection<IEntityItem> getEntitiesByItemType(@NonNull IEntityItem.ItemType itemType) - Specified by:
getEntitiesByItemTypein interfaceIIndexer
-
getEntity
public IEntityItem getEntity(@NonNull IEntityItem.ItemType itemType, @NonNull String identifier, boolean normalize) Description copied from interface:IIndexerLookup an item of the givenitemTypehaving the givenidentifier.Will normalize the case of a UUID-based the identifier when requested.
-
addItem
-
addItem
@NonNull protected IEntityItem addItem(@NonNull dev.metaschema.oscal.lib.profile.resolver.support.AbstractEntityItem.Builder builder) -
removeItem
- Specified by:
removeItemin interfaceIIndexer
-
addRole
-
addLocation
- Specified by:
addLocationin interfaceIIndexer
-
addParty
-
addGroup
-
addControl
- Specified by:
addControlin interfaceIIndexer
-
addParameter
- Specified by:
addParameterin interfaceIIndexer
-
addPart
-
addResource
- Specified by:
addResourcein interfaceIIndexer
-
newBuilder
@NonNull protected final dev.metaschema.oscal.lib.profile.resolver.support.AbstractEntityItem.Builder newBuilder(@NonNull dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item, @NonNull IEntityItem.ItemType itemType, @NonNull UUID identifier) -
newBuilder
@NonNull protected dev.metaschema.oscal.lib.profile.resolver.support.AbstractEntityItem.Builder newBuilder(@NonNull dev.metaschema.core.metapath.item.node.IModelNodeItem<?, ?> item, @NonNull IEntityItem.ItemType itemType, @NonNull String identifier) Create a new builder with the provided info.This method can be overloaded to support applying additional data to the returned builder.
When working with identifiers that are case insensitve, it is important to ensure that the identifiers are normalized to lower case.
- Parameters:
item- the Metapath node to associate with the entityitemType- the type of entityidentifier- the entity's identifier- Returns:
- the entity builder
-
normalizeIdentifier
Lower case UUID-based identifiers and leave others unmodified.- Parameters:
identifier- the identifier- Returns:
- the resulting normalized identifier
-