001package gov.nist.secauto.oscal.lib.model; 002 003import gov.nist.secauto.metaschema.core.datatype.markup.MarkupLine; 004import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline; 005import gov.nist.secauto.metaschema.databind.IBindingContext; 006import gov.nist.secauto.metaschema.databind.model.AbstractBoundModule; 007import gov.nist.secauto.metaschema.databind.model.IBoundModule; 008import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaModule; 009import java.lang.Override; 010import java.lang.String; 011import java.net.URI; 012import java.util.List; 013 014@MetaschemaModule( 015 fields = ThreatId.class, 016 assemblies = { 017 ImportSsp.class, 018 LocalObjective.class, 019 AssessmentMethod.class, 020 Activity.class, 021 Task.class, 022 ReviewedControls.class, 023 SelectControlById.class, 024 SelectObjectiveById.class, 025 AssessmentSubjectPlaceholder.class, 026 AssessmentSubject.class, 027 SelectSubjectById.class, 028 SubjectReference.class, 029 AssessmentAssets.class, 030 FindingTarget.class, 031 Finding.class, 032 Observation.class, 033 Origin.class, 034 OriginActor.class, 035 RelatedTask.class, 036 Risk.class, 037 LoggedBy.class, 038 Characterization.class, 039 Response.class, 040 AssessmentPart.class 041 }, 042 imports = { 043 OscalControlCommonModule.class, 044 OscalImplementationCommonModule.class 045 }, 046 remarks = "This contains all modules common to the assessment plan, assessment results, and POAM models.\n" 047 + "\n" 048 + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n" 049 + "\n" 050 + "The root of the OSCAL Assessment Results format is `assessment-results`.\n" 051 + "\n" 052 + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`." 053) 054public final class OscalAssessmentCommonModule extends AbstractBoundModule { 055 private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Assessment Layer Format -- Common Modules"); 056 057 private static final String SHORT_NAME = "oscal-assessment-common"; 058 059 private static final String VERSION = "1.1.3"; 060 061 private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0"); 062 063 private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal"); 064 065 private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("This contains all modules common to the assessment plan, assessment results, and POAM models.\n" 066 + "\n" 067 + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n" 068 + "\n" 069 + "The root of the OSCAL Assessment Results format is `assessment-results`.\n" 070 + "\n" 071 + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`."); 072 073 public OscalAssessmentCommonModule(List<? extends IBoundModule> importedModules, 074 IBindingContext bindingContext) { 075 super(importedModules, bindingContext); 076 } 077 078 @Override 079 public MarkupLine getName() { 080 return NAME; 081 } 082 083 @Override 084 public String getShortName() { 085 return SHORT_NAME; 086 } 087 088 @Override 089 public String getVersion() { 090 return VERSION; 091 } 092 093 @Override 094 public URI getXmlNamespace() { 095 return XML_NAMESPACE; 096 } 097 098 @Override 099 public URI getJsonBaseUri() { 100 return JSON_BASE_URI; 101 } 102 103 @Override 104 public MarkupMultiline getRemarks() { 105 return REMARKS; 106 } 107}