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    fields = {
016        Hash.class,
017        TelephoneNumber.class,
018        DocumentId.class
019    },
020    assemblies = {
021        Metadata.class,
022        BackMatter.class,
023        Property.class,
024        Link.class,
025        ResponsibleParty.class,
026        Action.class,
027        ResponsibleRole.class,
028        Address.class
029    }
030)
031public final class OscalMetadataMetaschema extends AbstractBoundMetaschema {
032  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Document Metadata Description");
033
034  private static final String SHORT_NAME = "oscal-metadata";
035
036  private static final String VERSION = "1.1.2";
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");
041
042  public OscalMetadataMetaschema(List<? extends IMetaschema> importedMetaschema,
043      IBindingContext bindingContext) {
044    super(importedMetaschema, bindingContext);
045  }
046
047  @Override
048  public MarkupLine getName() {
049    return NAME;
050  }
051
052  @Override
053  public String getShortName() {
054    return SHORT_NAME;
055  }
056
057  @Override
058  public String getVersion() {
059    return VERSION;
060  }
061
062  @Override
063  public URI getXmlNamespace() {
064    return XML_NAMESPACE;
065  }
066
067  @Override
068  public URI getJsonBaseUri() {
069    return JSON_BASE_URI;
070  }
071
072  @Override
073  public MarkupMultiline getRemarks() {
074    return null;
075  }
076}