001// Generated from: ../../../../../../../../oscal/src/metaschema/oscal_complete_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 Unified Model of Models
016 * <p>This format represents a combination of all of the OSCAL models.</p>
017 */
018@MetaschemaModule(
019    imports = {
020        OscalCatalogModule.class,
021        OscalMappingModule.class,
022        OscalProfileModule.class,
023        OscalComponentDefinitionModule.class,
024        OscalSspModule.class,
025        OscalApModule.class,
026        OscalArModule.class,
027        OscalPoamModule.class
028    },
029    remarks = "This format represents a combination of all of the OSCAL models."
030)
031public final class OscalCompleteModule extends AbstractBoundModule {
032  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Unified Model of Models");
033
034  private static final String SHORT_NAME = "oscal-complete";
035
036  private static final String VERSION = "1.2.0";
037
038  private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0");
039
040  private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal/1.0");
041
042  private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("This format represents a combination of all of the OSCAL models.");
043
044  /**
045   * Construct a new module instance.
046   *
047   * @param importedModules
048   *           modules imported by this module
049   * @param bindingContext
050   *           the binding context to associate with this module
051   */
052  public OscalCompleteModule(List<? extends IBoundModule> importedModules,
053      IBindingContext bindingContext) {
054    super(importedModules, bindingContext);
055  }
056
057  @Override
058  public MarkupLine getName() {
059    return NAME;
060  }
061
062  @Override
063  public String getShortName() {
064    return SHORT_NAME;
065  }
066
067  @Override
068  public String getVersion() {
069    return VERSION;
070  }
071
072  @Override
073  public URI getXmlNamespace() {
074    return XML_NAMESPACE;
075  }
076
077  @Override
078  public URI getJsonBaseUri() {
079    return JSON_BASE_URI;
080  }
081
082  @Override
083  public MarkupMultiline getRemarks() {
084    return REMARKS;
085  }
086}