Class LinkReferencePolicy
- java.lang.Object
-
- gov.nist.secauto.oscal.lib.profile.resolver.policy.AbstractCustomReferencePolicy<TYPE>
-
- gov.nist.secauto.oscal.lib.profile.resolver.policy.AbstractMultiItemTypeReferencePolicy<Link>
-
- gov.nist.secauto.oscal.lib.profile.resolver.policy.LinkReferencePolicy
-
- All Implemented Interfaces:
ICustomReferencePolicy<Link>,IReferencePolicy<Link>
public class LinkReferencePolicy extends AbstractMultiItemTypeReferencePolicy<Link>
-
-
Field Summary
-
Fields inherited from interface gov.nist.secauto.oscal.lib.profile.resolver.policy.IReferencePolicy
IGNORE_POLICY
-
-
Constructor Summary
Constructors Constructor Description LinkReferencePolicy(List<IEntityItem.ItemType> itemTypes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static LinkReferencePolicycreate(IEntityItem.ItemType itemType)static LinkReferencePolicycreate(List<IEntityItem.ItemType> itemTypes)StringgetReferenceText(Link link)Retrieve the reference text from thereferenceobject.protected booleanhandleIdentifierNonMatch(gov.nist.secauto.metaschema.model.common.metapath.item.IRequiredValueModelNodeItem contextItem, Link reference, ReferenceCountingVisitor.Context visitorContext)Handle the case where the identifier was not a syntax match for an expected identifier.protected booleanhandleIndexMiss(gov.nist.secauto.metaschema.model.common.metapath.item.IRequiredValueModelNodeItem contextItem, Link link, List<IEntityItem.ItemType> itemTypes, String identifier, ReferenceCountingVisitor.Context visitorContext)Handle an index miss for a reference.protected voidhandleUnselected(gov.nist.secauto.metaschema.model.common.metapath.item.IRequiredValueModelNodeItem contextItem, Link link, IEntityItem item, ReferenceCountingVisitor.Context visitorContext)Handle an index hit against an item related to an unselected control.voidsetReferenceText(Link link, String newValue)Update the reference text used in thereferenceobject.-
Methods inherited from class gov.nist.secauto.oscal.lib.profile.resolver.policy.AbstractMultiItemTypeReferencePolicy
getEntityItemTypes
-
Methods inherited from class gov.nist.secauto.oscal.lib.profile.resolver.policy.AbstractCustomReferencePolicy
getIdentifierParser, handleIdentifier, handleIndexHit, handleReference, handleSelected
-
-
-
-
Constructor Detail
-
LinkReferencePolicy
public LinkReferencePolicy(@NonNull List<IEntityItem.ItemType> itemTypes)
-
-
Method Detail
-
create
@NonNull public static LinkReferencePolicy create(@NonNull IEntityItem.ItemType itemType)
-
create
@NonNull public static LinkReferencePolicy create(@NonNull List<IEntityItem.ItemType> itemTypes)
-
getReferenceText
public String getReferenceText(@NonNull Link link)
Description copied from interface:ICustomReferencePolicyRetrieve the reference text from thereferenceobject.- Parameters:
link- the reference object- Returns:
- the reference text or
nullif there is no text
-
setReferenceText
public void setReferenceText(@NonNull Link link, @NonNull String newValue)
Description copied from interface:ICustomReferencePolicyUpdate the reference text used in thereferenceobject.- Parameters:
link- the reference objectnewValue- the reference text replacement
-
handleUnselected
protected void handleUnselected(@NonNull gov.nist.secauto.metaschema.model.common.metapath.item.IRequiredValueModelNodeItem contextItem, @NonNull Link link, @NonNull IEntityItem item, @NonNull ReferenceCountingVisitor.Context visitorContext)
Description copied from class:AbstractCustomReferencePolicyHandle an index hit against an item related to an unselected control.Subclasses can override this method to perform extra processing.
- Overrides:
handleUnselectedin classAbstractCustomReferencePolicy<Link>- Parameters:
contextItem- the node containing the identifier referencelink- the identifier reference object generating the hititem- the referenced itemvisitorContext- the reference visitor, which can be used for further processing
-
handleIndexMiss
protected boolean handleIndexMiss(@NonNull gov.nist.secauto.metaschema.model.common.metapath.item.IRequiredValueModelNodeItem contextItem, @NonNull Link link, @NonNull List<IEntityItem.ItemType> itemTypes, @NonNull String identifier, @NonNull ReferenceCountingVisitor.Context visitorContext)
Description copied from class:AbstractCustomReferencePolicyHandle an index miss for a reference. This occurs when the referenced item was not found in the index.Subclasses can override this method to perform extra processing.
- Overrides:
handleIndexMissin classAbstractCustomReferencePolicy<Link>- Parameters:
contextItem- the node containing the identifier referencelink- the identifier reference object generating the hititemTypes- the possible item types for this referenceidentifier- the parsed identifiervisitorContext- the reference visitor state, which can be used for further processing- Returns:
trueif the reference is handled by this method orfalseotherwise
-
handleIdentifierNonMatch
protected boolean handleIdentifierNonMatch(@NonNull gov.nist.secauto.metaschema.model.common.metapath.item.IRequiredValueModelNodeItem contextItem, @NonNull Link reference, @NonNull ReferenceCountingVisitor.Context visitorContext)
Description copied from class:AbstractCustomReferencePolicyHandle the case where the identifier was not a syntax match for an expected identifier. This can occur when the reference is malformed, using an unrecognized syntax.Subclasses can override this method to perform extra processing.
- Overrides:
handleIdentifierNonMatchin classAbstractCustomReferencePolicy<Link>- Parameters:
contextItem- the node containing the identifier referencereference- the identifier reference object generating the hitvisitorContext- the reference visitor state, which can be used for further processing- Returns:
trueif the reference is handled by this method orfalseotherwise
-
-