001package gov.nist.secauto.oscal.lib.model;
002
003import gov.nist.secauto.metaschema.binding.IBindingContext;
004import gov.nist.secauto.metaschema.binding.model.AbstractBoundMetaschema;
005import gov.nist.secauto.metaschema.binding.model.annotations.Metaschema;
006import gov.nist.secauto.metaschema.model.common.IMetaschema;
007import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine;
008import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline;
009import java.lang.Override;
010import java.lang.String;
011import java.net.URI;
012import java.util.List;
013
014@Metaschema(
015    assemblies = {
016        AssessmentResults.class,
017        Result.class,
018        ImportAp.class
019    },
020    imports = {
021        OscalMetadataMetaschema.class,
022        OscalAssessmentCommonMetaschema.class
023    },
024    remarks = "The OSCAL assessment results format is used to describe the information typically provided by an assessor following an assessment.\n"
025            + "\n"
026            + "The root of the OSCAL assessment results format is `assessment-results`."
027)
028public final class OscalArMetaschema extends AbstractBoundMetaschema {
029  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Assessment Results Model");
030
031  private static final String SHORT_NAME = "oscal-ar";
032
033  private static final String VERSION = "1.1.2";
034
035  private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0");
036
037  private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal");
038
039  private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("The OSCAL assessment results format is used to describe the information typically provided by an assessor following an assessment.\n"
040      + "\n"
041      + "The root of the OSCAL assessment results format is `assessment-results`.");
042
043  public OscalArMetaschema(List<? extends IMetaschema> importedMetaschema,
044      IBindingContext bindingContext) {
045    super(importedMetaschema, bindingContext);
046  }
047
048  @Override
049  public MarkupLine getName() {
050    return NAME;
051  }
052
053  @Override
054  public String getShortName() {
055    return SHORT_NAME;
056  }
057
058  @Override
059  public String getVersion() {
060    return VERSION;
061  }
062
063  @Override
064  public URI getXmlNamespace() {
065    return XML_NAMESPACE;
066  }
067
068  @Override
069  public URI getJsonBaseUri() {
070    return JSON_BASE_URI;
071  }
072
073  @Override
074  public MarkupMultiline getRemarks() {
075    return REMARKS;
076  }
077}