001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package gov.nist.secauto.oscal.lib.model.metadata; 007 008import java.net.URI; 009 010import edu.umd.cs.findbugs.annotations.NonNull; 011import edu.umd.cs.findbugs.annotations.Nullable; 012 013public interface IProperty { 014 @NonNull 015 static URI normalizeNamespace(@Nullable URI namespace) { 016 URI retval = namespace; 017 if (retval == null) { 018 retval = OSCAL_NAMESPACE; 019 } 020 return retval; 021 } 022 023 @SuppressWarnings("null") 024 @NonNull 025 URI OSCAL_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal"); 026 @SuppressWarnings("null") 027 @NonNull 028 URI RMF_NAMESPACE = URI.create("http://csrc.nist.gov/ns/rmf"); 029 030 @Nullable 031 String getName(); 032 033 @Nullable 034 URI getNs(); 035 036 boolean isNamespaceEqual(@NonNull URI namespace); 037}