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