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 }