OscalAssessmentCommonMetaschema.java

  1. package gov.nist.secauto.oscal.lib.model;

  2. import gov.nist.secauto.metaschema.binding.IBindingContext;
  3. import gov.nist.secauto.metaschema.binding.model.AbstractBoundMetaschema;
  4. import gov.nist.secauto.metaschema.binding.model.annotations.Metaschema;
  5. import gov.nist.secauto.metaschema.model.common.IMetaschema;
  6. import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine;
  7. import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline;
  8. import java.lang.Override;
  9. import java.lang.String;
  10. import java.net.URI;
  11. import java.util.List;

  12. @Metaschema(
  13.     fields = ThreatId.class,
  14.     assemblies = {
  15.         ImportSsp.class,
  16.         LocalObjective.class,
  17.         AssessmentMethod.class,
  18.         Activity.class,
  19.         Task.class,
  20.         ReviewedControls.class,
  21.         SelectControlById.class,
  22.         SelectObjectiveById.class,
  23.         AssessmentSubjectPlaceholder.class,
  24.         AssessmentSubject.class,
  25.         SelectSubjectById.class,
  26.         SubjectReference.class,
  27.         AssessmentAssets.class,
  28.         FindingTarget.class,
  29.         Finding.class,
  30.         Observation.class,
  31.         Origin.class,
  32.         OriginActor.class,
  33.         RelatedTask.class,
  34.         Risk.class,
  35.         LoggedBy.class,
  36.         Characterization.class,
  37.         Response.class,
  38.         AssessmentPart.class
  39.     },
  40.     imports = {
  41.         OscalControlCommonMetaschema.class,
  42.         OscalImplementationCommonMetaschema.class
  43.     },
  44.     remarks = "This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
  45.             + "\n"
  46.             + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
  47.             + "\n"
  48.             + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
  49.             + "\n"
  50.             + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`."
  51. )
  52. public final class OscalAssessmentCommonMetaschema extends AbstractBoundMetaschema {
  53.   private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Assessment Layer Format -- Common Modules");

  54.   private static final String SHORT_NAME = "oscal-assessment-common";

  55.   private static final String VERSION = "1.1.2";

  56.   private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0");

  57.   private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal");

  58.   private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
  59.       + "\n"
  60.       + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
  61.       + "\n"
  62.       + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
  63.       + "\n"
  64.       + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`.");

  65.   public OscalAssessmentCommonMetaschema(List<? extends IMetaschema> importedMetaschema,
  66.       IBindingContext bindingContext) {
  67.     super(importedMetaschema, bindingContext);
  68.   }

  69.   @Override
  70.   public MarkupLine getName() {
  71.     return NAME;
  72.   }

  73.   @Override
  74.   public String getShortName() {
  75.     return SHORT_NAME;
  76.   }

  77.   @Override
  78.   public String getVersion() {
  79.     return VERSION;
  80.   }

  81.   @Override
  82.   public URI getXmlNamespace() {
  83.     return XML_NAMESPACE;
  84.   }

  85.   @Override
  86.   public URI getJsonBaseUri() {
  87.     return JSON_BASE_URI;
  88.   }

  89.   @Override
  90.   public MarkupMultiline getRemarks() {
  91.     return REMARKS;
  92.   }
  93. }