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        FlagIndexHasKey.class,
043        FlagMatches.class,
044        TargetedAllowedValuesConstraint.class,
045        TargetedMatchesConstraint.class,
046        TargetedExpectConstraint.class,
047        TargetedIndexHasKeyConstraint.class,
048        KeyConstraintField.class,
049        TargetedIsUniqueConstraint.class,
050        TargetedIndexConstraint.class,
051        TargetedHasCardinalityConstraint.class,
052        MetaschemaModuleConstraints.class,
053        MetaschemaMetaConstraints.class,
054        MetaschemaMetapath.class,
055        MetapathContext.class
056    }
057)
058public final class MetaschemaModelModule extends AbstractBoundModule {
059  private static final MarkupLine NAME = MarkupLine.fromMarkdown("Metaschema Model");
060
061  private static final String SHORT_NAME = "metaschema-model";
062
063  private static final String VERSION = "1.0.0-M2";
064
065  private static final URI XML_NAMESPACE = URI.create("http://example.com/ns/oscal/metaschema/1.0");
066
067  private static final URI JSON_BASE_URI = URI.create("http://example.com/ns/oscal/metaschema/1.0");
068
069  public MetaschemaModelModule(List<? extends IBoundModule> importedModules,
070      IBindingContext bindingContext) {
071    super(importedModules, bindingContext);
072  }
073
074  @Override
075  public MarkupLine getName() {
076    return NAME;
077  }
078
079  @Override
080  public String getShortName() {
081    return SHORT_NAME;
082  }
083
084  @Override
085  public String getVersion() {
086    return VERSION;
087  }
088
089  @Override
090  public URI getXmlNamespace() {
091    return XML_NAMESPACE;
092  }
093
094  @Override
095  public URI getJsonBaseUri() {
096    return JSON_BASE_URI;
097  }
098
099  @Override
100  public MarkupMultiline getRemarks() {
101    return null;
102  }
103}