001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package gov.nist.secauto.oscal.lib.model.control;
007
008import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline;
009import gov.nist.secauto.metaschema.core.datatype.markup.flexmark.InsertAnchorExtension;
010import gov.nist.secauto.metaschema.core.datatype.markup.flexmark.InsertAnchorExtension.InsertAnchorNode;
011import gov.nist.secauto.oscal.lib.model.ControlPart;
012
013import java.util.List;
014import java.util.function.Predicate;
015import java.util.stream.Stream;
016
017import edu.umd.cs.findbugs.annotations.NonNull;
018
019public interface IPart {
020  MarkupMultiline getProse();
021
022  List<ControlPart> getParts();
023
024  @NonNull
025  Stream<InsertAnchorExtension.InsertAnchorNode> getInserts(@NonNull Predicate<InsertAnchorNode> filter);
026}