001// Generated from: ../../../../../../../../oscal/src/metaschema/oscal_mapping_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 Control Mapping Model 016 * <p>The OSCAL Control mapping format can be used to describe how a collection of security controls and related control enhancements relate to another collection of controls. The root of the Control Catalog format is <code>mapping-collection</code>.</p> 017 */ 018@MetaschemaModule( 019 assemblies = MappingCollection.class, 020 imports = { 021 OscalMetadataModule.class, 022 OscalMappingCommonModule.class 023 }, 024 remarks = "The OSCAL Control mapping format can be used to describe how a collection of security controls and related control enhancements relate to another collection of controls. The root of the Control Catalog format is `mapping-collection`." 025) 026public final class OscalMappingModule extends AbstractBoundModule { 027 private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Control Mapping Model"); 028 029 private static final String SHORT_NAME = "oscal-mapping"; 030 031 private static final String VERSION = "1.2.0"; 032 033 private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0"); 034 035 private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal"); 036 037 private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("The OSCAL Control mapping format can be used to describe how a collection of security controls and related control enhancements relate to another collection of controls. The root of the Control Catalog format is `mapping-collection`."); 038 039 /** 040 * Construct a new module instance. 041 * 042 * @param importedModules 043 * modules imported by this module 044 * @param bindingContext 045 * the binding context to associate with this module 046 */ 047 public OscalMappingModule(List<? extends IBoundModule> importedModules, 048 IBindingContext bindingContext) { 049 super(importedModules, bindingContext); 050 } 051 052 @Override 053 public MarkupLine getName() { 054 return NAME; 055 } 056 057 @Override 058 public String getShortName() { 059 return SHORT_NAME; 060 } 061 062 @Override 063 public String getVersion() { 064 return VERSION; 065 } 066 067 @Override 068 public URI getXmlNamespace() { 069 return XML_NAMESPACE; 070 } 071 072 @Override 073 public URI getJsonBaseUri() { 074 return JSON_BASE_URI; 075 } 076 077 @Override 078 public MarkupMultiline getRemarks() { 079 return REMARKS; 080 } 081}