001// Generated from: ../../../../../../../../oscal/src/metaschema/oscal_poam_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 Plan of Action and Milestones (POA&M) Model
016 * <p>The OSCAL Plan of Action and Milestones (POA&amp;M) format is used to describe the information typically provided by an assessor during the preparation for an assessment.</p>
017 * <p>The root of the OSCAL Plan of Action and Milestones (POA&amp;M) format is <code>plan-action-milestones</code>.</p>
018 */
019@MetaschemaModule(
020    assemblies = {
021        PlanOfActionAndMilestones.class,
022        LocalDefinitions.class,
023        PoamItem.class
024    },
025    imports = {
026        OscalMetadataModule.class,
027        OscalImplementationCommonModule.class,
028        OscalAssessmentCommonModule.class
029    },
030    remarks = "The OSCAL Plan of Action and Milestones (POA\\&M) format is used to describe the information typically provided by an assessor during the preparation for an assessment.\n"
031            + "\n"
032            + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-action-milestones`."
033)
034public final class OscalPoamModule extends AbstractBoundModule {
035  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Plan of Action and Milestones (POA\\&M) Model");
036
037  private static final String SHORT_NAME = "oscal-poam";
038
039  private static final String VERSION = "1.2.0";
040
041  private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0");
042
043  private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal");
044
045  private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("The OSCAL Plan of Action and Milestones (POA\\&M) format is used to describe the information typically provided by an assessor during the preparation for an assessment.\n"
046      + "\n"
047      + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-action-milestones`.");
048
049  /**
050   * Construct a new module instance.
051   *
052   * @param importedModules
053   *           modules imported by this module
054   * @param bindingContext
055   *           the binding context to associate with this module
056   */
057  public OscalPoamModule(List<? extends IBoundModule> importedModules,
058      IBindingContext bindingContext) {
059    super(importedModules, bindingContext);
060  }
061
062  @Override
063  public MarkupLine getName() {
064    return NAME;
065  }
066
067  @Override
068  public String getShortName() {
069    return SHORT_NAME;
070  }
071
072  @Override
073  public String getVersion() {
074    return VERSION;
075  }
076
077  @Override
078  public URI getXmlNamespace() {
079    return XML_NAMESPACE;
080  }
081
082  @Override
083  public URI getJsonBaseUri() {
084    return JSON_BASE_URI;
085  }
086
087  @Override
088  public MarkupMultiline getRemarks() {
089    return REMARKS;
090  }
091}