001// Generated from: ../../../../../../../../oscal/src/metaschema/oscal_ssp_metaschema.xml 002// Do not edit - changes will be lost when regenerated. 003package dev.metaschema.oscal.lib.model; 004 005import dev.metaschema.core.datatype.markup.MarkupLine; 006import dev.metaschema.core.datatype.markup.MarkupMultiline; 007import dev.metaschema.databind.IBindingContext; 008import dev.metaschema.databind.model.AbstractBoundModule; 009import dev.metaschema.databind.model.IBoundModule; 010import dev.metaschema.databind.model.annotations.MetaschemaModule; 011import java.net.URI; 012import java.util.List; 013 014/** 015 * OSCAL System Security Plan (SSP) Model 016 * <p>The OSCAL Control SSP format can be used to describe the information typically specified in a system security plan, such as those defined in NIST SP 800-18.</p> 017 * <p>The root of the OSCAL System Security Plan (SSP) format is <code>system-security-plan</code>.</p> 018 */ 019@MetaschemaModule( 020 assemblies = { 021 SystemSecurityPlan.class, 022 ImportProfile.class, 023 SystemCharacteristics.class, 024 SystemInformation.class, 025 Impact.class, 026 SecurityImpactLevel.class, 027 Status.class, 028 AuthorizationBoundary.class, 029 Diagram.class, 030 NetworkArchitecture.class, 031 DataFlow.class, 032 SystemImplementation.class, 033 ControlImplementation.class, 034 ImplementedRequirement.class, 035 Statement.class, 036 ByComponent.class 037 }, 038 imports = { 039 OscalMetadataModule.class, 040 OscalImplementationCommonModule.class 041 }, 042 remarks = "The OSCAL Control SSP format can be used to describe the information typically specified in a system security plan, such as those defined in NIST SP 800-18.\n" 043 + "\n" 044 + "The root of the OSCAL System Security Plan (SSP) format is `system-security-plan`." 045) 046public final class OscalSspModule extends AbstractBoundModule { 047 private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL System Security Plan (SSP) Model"); 048 049 private static final String SHORT_NAME = "oscal-ssp"; 050 051 private static final String VERSION = "1.2.0"; 052 053 private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0"); 054 055 private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal"); 056 057 private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("The OSCAL Control SSP format can be used to describe the information typically specified in a system security plan, such as those defined in NIST SP 800-18.\n" 058 + "\n" 059 + "The root of the OSCAL System Security Plan (SSP) format is `system-security-plan`."); 060 061 /** 062 * Construct a new module instance. 063 * 064 * @param importedModules 065 * modules imported by this module 066 * @param bindingContext 067 * the binding context to associate with this module 068 */ 069 public OscalSspModule(List<? extends IBoundModule> importedModules, 070 IBindingContext bindingContext) { 071 super(importedModules, bindingContext); 072 } 073 074 @Override 075 public MarkupLine getName() { 076 return NAME; 077 } 078 079 @Override 080 public String getShortName() { 081 return SHORT_NAME; 082 } 083 084 @Override 085 public String getVersion() { 086 return VERSION; 087 } 088 089 @Override 090 public URI getXmlNamespace() { 091 return XML_NAMESPACE; 092 } 093 094 @Override 095 public URI getJsonBaseUri() { 096 return JSON_BASE_URI; 097 } 098 099 @Override 100 public MarkupMultiline getRemarks() { 101 return REMARKS; 102 } 103}