001package gov.nist.secauto.oscal.lib.model;
002
003import gov.nist.secauto.metaschema.binding.IBindingContext;
004import gov.nist.secauto.metaschema.binding.model.AbstractBoundMetaschema;
005import gov.nist.secauto.metaschema.binding.model.annotations.Metaschema;
006import gov.nist.secauto.metaschema.model.common.IMetaschema;
007import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine;
008import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline;
009import java.lang.Override;
010import java.lang.String;
011import java.net.URI;
012import java.util.List;
013
014@Metaschema(
015    imports = {
016        OscalCatalogMetaschema.class,
017        OscalProfileMetaschema.class,
018        OscalComponentDefinitionMetaschema.class,
019        OscalSspMetaschema.class,
020        OscalApMetaschema.class,
021        OscalArMetaschema.class,
022        OscalPoamMetaschema.class
023    },
024    remarks = "This format represents a combination of all of the OSCAL models."
025)
026public final class OscalCompleteMetaschema extends AbstractBoundMetaschema {
027  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Unified Model of Models");
028
029  private static final String SHORT_NAME = "oscal-complete";
030
031  private static final String VERSION = "1.1.2";
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/1.0");
036
037  private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("This format represents a combination of all of the OSCAL models.");
038
039  public OscalCompleteMetaschema(List<? extends IMetaschema> importedMetaschema,
040      IBindingContext bindingContext) {
041    super(importedMetaschema, bindingContext);
042  }
043
044  @Override
045  public MarkupLine getName() {
046    return NAME;
047  }
048
049  @Override
050  public String getShortName() {
051    return SHORT_NAME;
052  }
053
054  @Override
055  public String getVersion() {
056    return VERSION;
057  }
058
059  @Override
060  public URI getXmlNamespace() {
061    return XML_NAMESPACE;
062  }
063
064  @Override
065  public URI getJsonBaseUri() {
066    return JSON_BASE_URI;
067  }
068
069  @Override
070  public MarkupMultiline getRemarks() {
071    return REMARKS;
072  }
073}