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 fields = ThreatId.class,
16 assemblies = {
17 ImportSsp.class,
18 LocalObjective.class,
19 AssessmentMethod.class,
20 Activity.class,
21 Task.class,
22 ReviewedControls.class,
23 SelectControlById.class,
24 SelectObjectiveById.class,
25 AssessmentSubjectPlaceholder.class,
26 AssessmentSubject.class,
27 SelectSubjectById.class,
28 SubjectReference.class,
29 AssessmentAssets.class,
30 FindingTarget.class,
31 Finding.class,
32 Observation.class,
33 Origin.class,
34 OriginActor.class,
35 RelatedTask.class,
36 Risk.class,
37 LoggedBy.class,
38 Characterization.class,
39 Response.class,
40 AssessmentPart.class
41 },
42 imports = {
43 OscalControlCommonMetaschema.class,
44 OscalImplementationCommonMetaschema.class
45 },
46 remarks = "This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
47 + "\n"
48 + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
49 + "\n"
50 + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
51 + "\n"
52 + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`."
53 )
54 public final class OscalAssessmentCommonMetaschema extends AbstractBoundMetaschema {
55 private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Assessment Layer Format -- Common Modules");
56
57 private static final String SHORT_NAME = "oscal-assessment-common";
58
59 private static final String VERSION = "1.1.2";
60
61 private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0");
62
63 private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal");
64
65 private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
66 + "\n"
67 + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
68 + "\n"
69 + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
70 + "\n"
71 + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`.");
72
73 public OscalAssessmentCommonMetaschema(List<? extends IMetaschema> importedMetaschema,
74 IBindingContext bindingContext) {
75 super(importedMetaschema, bindingContext);
76 }
77
78 @Override
79 public MarkupLine getName() {
80 return NAME;
81 }
82
83 @Override
84 public String getShortName() {
85 return SHORT_NAME;
86 }
87
88 @Override
89 public String getVersion() {
90 return VERSION;
91 }
92
93 @Override
94 public URI getXmlNamespace() {
95 return XML_NAMESPACE;
96 }
97
98 @Override
99 public URI getJsonBaseUri() {
100 return JSON_BASE_URI;
101 }
102
103 @Override
104 public MarkupMultiline getRemarks() {
105 return REMARKS;
106 }
107 }