View Javadoc
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 }