1 package gov.nist.secauto.oscal.lib.model; 2 3 import gov.nist.secauto.metaschema.binding.IBindingContext; 4 import gov.nist.secauto.metaschema.binding.model.AbstractBoundMetaschema; 5 import gov.nist.secauto.metaschema.binding.model.annotations.Metaschema; 6 import gov.nist.secauto.metaschema.model.common.IMetaschema; 7 import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine; 8 import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline; 9 import java.lang.Override; 10 import java.lang.String; 11 import java.net.URI; 12 import java.util.List; 13 14 @Metaschema( 15 assemblies = { 16 PlanOfActionAndMilestones.class, 17 LocalDefinitions.class, 18 PoamItem.class 19 }, 20 imports = { 21 OscalMetadataMetaschema.class, 22 OscalImplementationCommonMetaschema.class, 23 OscalAssessmentCommonMetaschema.class 24 }, 25 remarks = "The OSCAL Plan of Action and Milestones (POA\\&M) format is used to describe the information typically provided by an assessor during the preparation for an assessment.\n" 26 + "\n" 27 + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-action-milestones`." 28 ) 29 public final class OscalPoamMetaschema extends AbstractBoundMetaschema { 30 private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Plan of Action and Milestones (POA\\&M) Model"); 31 32 private static final String SHORT_NAME = "oscal-poam"; 33 34 private static final String VERSION = "1.1.2"; 35 36 private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0"); 37 38 private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal"); 39 40 private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("The OSCAL Plan of Action and Milestones (POA\\&M) format is used to describe the information typically provided by an assessor during the preparation for an assessment.\n" 41 + "\n" 42 + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-action-milestones`."); 43 44 public OscalPoamMetaschema(List<? extends IMetaschema> importedMetaschema, 45 IBindingContext bindingContext) { 46 super(importedMetaschema, bindingContext); 47 } 48 49 @Override 50 public MarkupLine getName() { 51 return NAME; 52 } 53 54 @Override 55 public String getShortName() { 56 return SHORT_NAME; 57 } 58 59 @Override 60 public String getVersion() { 61 return VERSION; 62 } 63 64 @Override 65 public URI getXmlNamespace() { 66 return XML_NAMESPACE; 67 } 68 69 @Override 70 public URI getJsonBaseUri() { 71 return JSON_BASE_URI; 72 } 73 74 @Override 75 public MarkupMultiline getRemarks() { 76 return REMARKS; 77 } 78 }