001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package dev.metaschema.oscal.lib.model;
007
008import java.util.UUID;
009
010import dev.metaschema.oscal.lib.model.BackMatter.Resource;
011import edu.umd.cs.findbugs.annotations.NonNull;
012import edu.umd.cs.findbugs.annotations.Nullable;
013
014public interface IOscalInstance {
015  UUID getUuid();
016
017  Metadata getMetadata();
018
019  BackMatter getBackMatter();
020
021  /**
022   * Lookup a backmatter resource by its UUID value.
023   *
024   * @param id
025   *          the uuid value
026   * @return the resource or {@code null} if no resource matched the UUID
027   */
028  @Nullable
029  Resource getResourceByUuid(@NonNull UUID id);
030}