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