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 = AssessmentPlan.class, 016 imports = { 017 OscalMetadataMetaschema.class, 018 OscalAssessmentCommonMetaschema.class 019 }, 020 remarks = "The OSCAL assessment plan format is used to describe the information typically provided by an assessor during the preparation for an assessment.\n" 021 + "\n" 022 + "The root of the OSCAL assessment plan format is `assessment-plan`." 023) 024public final class OscalApMetaschema extends AbstractBoundMetaschema { 025 private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Assessment Plan Model"); 026 027 private static final String SHORT_NAME = "oscal-ap"; 028 029 private static final String VERSION = "1.1.2"; 030 031 private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0"); 032 033 private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal"); 034 035 private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("The OSCAL assessment plan format is used to describe the information typically provided by an assessor during the preparation for an assessment.\n" 036 + "\n" 037 + "The root of the OSCAL assessment plan format is `assessment-plan`."); 038 039 public OscalApMetaschema(List<? extends IMetaschema> importedMetaschema, 040 IBindingContext bindingContext) { 041 super(importedMetaschema, bindingContext); 042 } 043 044 @Override 045 public MarkupLine getName() { 046 return NAME; 047 } 048 049 @Override 050 public String getShortName() { 051 return SHORT_NAME; 052 } 053 054 @Override 055 public String getVersion() { 056 return VERSION; 057 } 058 059 @Override 060 public URI getXmlNamespace() { 061 return XML_NAMESPACE; 062 } 063 064 @Override 065 public URI getJsonBaseUri() { 066 return JSON_BASE_URI; 067 } 068 069 @Override 070 public MarkupMultiline getRemarks() { 071 return REMARKS; 072 } 073}