OscalAssessmentCommonMetaschema.java

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

import gov.nist.secauto.metaschema.binding.IBindingContext;
import gov.nist.secauto.metaschema.binding.model.AbstractBoundMetaschema;
import gov.nist.secauto.metaschema.binding.model.annotations.Metaschema;
import gov.nist.secauto.metaschema.model.common.IMetaschema;
import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine;
import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline;
import java.lang.Override;
import java.lang.String;
import java.net.URI;
import java.util.List;

@Metaschema(
    fields = ThreatId.class,
    assemblies = {
        ImportSsp.class,
        LocalObjective.class,
        AssessmentMethod.class,
        Activity.class,
        Task.class,
        ReviewedControls.class,
        SelectControlById.class,
        SelectObjectiveById.class,
        AssessmentSubjectPlaceholder.class,
        AssessmentSubject.class,
        SelectSubjectById.class,
        SubjectReference.class,
        AssessmentAssets.class,
        FindingTarget.class,
        Finding.class,
        Observation.class,
        Origin.class,
        OriginActor.class,
        RelatedTask.class,
        Risk.class,
        LoggedBy.class,
        Characterization.class,
        Response.class,
        AssessmentPart.class
    },
    imports = {
        OscalControlCommonMetaschema.class,
        OscalImplementationCommonMetaschema.class
    },
    remarks = "This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
            + "\n"
            + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
            + "\n"
            + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
            + "\n"
            + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`."
)
public final class OscalAssessmentCommonMetaschema extends AbstractBoundMetaschema {
  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Assessment Layer Format -- Common Modules");

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

  private static final String VERSION = "1.1.2";

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

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

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

  public OscalAssessmentCommonMetaschema(List<? extends IMetaschema> importedMetaschema,
      IBindingContext bindingContext) {
    super(importedMetaschema, bindingContext);
  }

  @Override
  public MarkupLine getName() {
    return NAME;
  }

  @Override
  public String getShortName() {
    return SHORT_NAME;
  }

  @Override
  public String getVersion() {
    return VERSION;
  }

  @Override
  public URI getXmlNamespace() {
    return XML_NAMESPACE;
  }

  @Override
  public URI getJsonBaseUri() {
    return JSON_BASE_URI;
  }

  @Override
  public MarkupMultiline getRemarks() {
    return REMARKS;
  }
}