001// Generated from: ../../../../../../../../oscal/src/metaschema/oscal_assessment-common_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 Assessment Layer Format -- Common Modules
016 * <p>This contains all modules common to the assessment plan, assessment results, and POAM models.</p>
017 * <p>The root of the OSCAL Assessment Plan format is <code>assessment-plan</code>.</p>
018 * <p>The root of the OSCAL Assessment Results format is <code>assessment-results</code>.</p>
019 * <p>The root of the OSCAL Plan of Action and Milestones (POA&amp;M) format is <code>plan-of-action-and-milestones</code>.</p>
020 */
021@MetaschemaModule(
022    fields = ThreatId.class,
023    assemblies = {
024        ImportSsp.class,
025        LocalObjective.class,
026        AssessmentMethod.class,
027        Activity.class,
028        Task.class,
029        ReviewedControls.class,
030        AssessmentCommonSelectControlById.class,
031        SelectObjectiveById.class,
032        AssessmentSubjectPlaceholder.class,
033        AssessmentSubject.class,
034        SelectSubjectById.class,
035        SubjectReference.class,
036        AssessmentAssets.class,
037        FindingTarget.class,
038        Finding.class,
039        RelatedObservation.class,
040        AssociatedRisk.class,
041        Observation.class,
042        Origin.class,
043        OriginActor.class,
044        RelatedTask.class,
045        Risk.class,
046        LoggedBy.class,
047        Characterization.class,
048        Response.class,
049        AssessmentPart.class
050    },
051    imports = {
052        OscalControlCommonModule.class,
053        OscalImplementationCommonModule.class
054    },
055    remarks = "This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
056            + "\n"
057            + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
058            + "\n"
059            + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
060            + "\n"
061            + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`."
062)
063public final class OscalAssessmentCommonModule extends AbstractBoundModule {
064  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Assessment Layer Format -- Common Modules");
065
066  private static final String SHORT_NAME = "oscal-assessment-common";
067
068  private static final String VERSION = "1.2.1";
069
070  private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0");
071
072  private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal");
073
074  private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
075      + "\n"
076      + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
077      + "\n"
078      + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
079      + "\n"
080      + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`.");
081
082  /**
083   * Construct a new module instance.
084   *
085   * @param importedModules
086   *           modules imported by this module
087   * @param bindingContext
088   *           the binding context to associate with this module
089   */
090  public OscalAssessmentCommonModule(List<? extends IBoundModule> importedModules,
091      IBindingContext bindingContext) {
092    super(importedModules, bindingContext);
093  }
094
095  @Override
096  public MarkupLine getName() {
097    return NAME;
098  }
099
100  @Override
101  public String getShortName() {
102    return SHORT_NAME;
103  }
104
105  @Override
106  public String getVersion() {
107    return VERSION;
108  }
109
110  @Override
111  public URI getXmlNamespace() {
112    return XML_NAMESPACE;
113  }
114
115  @Override
116  public URI getJsonBaseUri() {
117    return JSON_BASE_URI;
118  }
119
120  @Override
121  public MarkupMultiline getRemarks() {
122    return REMARKS;
123  }
124}