001package com.example.metaschema;
002
003import gov.nist.secauto.metaschema.core.datatype.markup.MarkupLine;
004import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline;
005import gov.nist.secauto.metaschema.databind.IBindingContext;
006import gov.nist.secauto.metaschema.databind.model.AbstractBoundModule;
007import gov.nist.secauto.metaschema.databind.model.IBoundModule;
008import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaModule;
009import java.lang.Override;
010import java.lang.String;
011import java.net.URI;
012import java.util.List;
013
014@MetaschemaModule(
015    fields = {
016        UseName.class,
017        Remarks.class,
018        ConstraintValueEnum.class
019    },
020    assemblies = {
021        METASCHEMA.class,
022        MetapathNamespace.class,
023        InlineDefineAssembly.class,
024        InlineDefineField.class,
025        InlineDefineFlag.class,
026        Any.class,
027        AssemblyReference.class,
028        FieldReference.class,
029        FlagReference.class,
030        AssemblyModel.class,
031        JsonValueKeyFlag.class,
032        GroupAs.class,
033        Example.class,
034        Property.class,
035        JsonKey.class,
036        AssemblyConstraints.class,
037        FieldConstraints.class,
038        FlagConstraints.class,
039        ConstraintLetExpression.class,
040        FlagAllowedValues.class,
041        FlagExpect.class,
042        FlagReport.class,
043        FlagIndexHasKey.class,
044        FlagMatches.class,
045        TargetedAllowedValuesConstraint.class,
046        TargetedMatchesConstraint.class,
047        TargetedExpectConstraint.class,
048        TargetedReportConstraint.class,
049        TargetedIndexHasKeyConstraint.class,
050        KeyConstraintField.class,
051        TargetedIsUniqueConstraint.class,
052        TargetedIndexConstraint.class,
053        TargetedHasCardinalityConstraint.class,
054        MetaschemaModuleConstraints.class,
055        MetaschemaMetaConstraints.class,
056        MetaschemaMetapath.class,
057        MetapathContext.class
058    }
059)
060public final class MetaschemaModelModule extends AbstractBoundModule {
061  private static final MarkupLine NAME = MarkupLine.fromMarkdown("Metaschema Model");
062
063  private static final String SHORT_NAME = "metaschema-model";
064
065  private static final String VERSION = "1.0.0-M2";
066
067  private static final URI XML_NAMESPACE = URI.create("http://example.com/ns/oscal/metaschema/1.0");
068
069  private static final URI JSON_BASE_URI = URI.create("http://example.com/ns/oscal/metaschema/1.0");
070
071  public MetaschemaModelModule(List<? extends IBoundModule> importedModules,
072      IBindingContext bindingContext) {
073    super(importedModules, bindingContext);
074  }
075
076  @Override
077  public MarkupLine getName() {
078    return NAME;
079  }
080
081  @Override
082  public String getShortName() {
083    return SHORT_NAME;
084  }
085
086  @Override
087  public String getVersion() {
088    return VERSION;
089  }
090
091  @Override
092  public URI getXmlNamespace() {
093    return XML_NAMESPACE;
094  }
095
096  @Override
097  public URI getJsonBaseUri() {
098    return JSON_BASE_URI;
099  }
100
101  @Override
102  public MarkupMultiline getRemarks() {
103    return null;
104  }
105}