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 }