1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package gov.nist.secauto.oscal.lib.model.control;
7   
8   import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline;
9   import gov.nist.secauto.metaschema.core.datatype.markup.flexmark.InsertAnchorExtension;
10  import gov.nist.secauto.metaschema.core.datatype.markup.flexmark.InsertAnchorExtension.InsertAnchorNode;
11  import gov.nist.secauto.oscal.lib.model.ControlPart;
12  
13  import java.util.List;
14  import java.util.function.Predicate;
15  import java.util.stream.Stream;
16  
17  import edu.umd.cs.findbugs.annotations.NonNull;
18  
19  public interface IPart {
20    MarkupMultiline getProse();
21  
22    List<ControlPart> getParts();
23  
24    @NonNull
25    Stream<InsertAnchorExtension.InsertAnchorNode> getInserts(@NonNull Predicate<InsertAnchorNode> filter);
26  }