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        SelectControlByIdOscalAssessmentCommon.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        Observation.class,
040        Origin.class,
041        OriginActor.class,
042        RelatedTask.class,
043        Risk.class,
044        LoggedBy.class,
045        Characterization.class,
046        Response.class,
047        AssessmentPart.class
048    },
049    imports = {
050        OscalControlCommonModule.class,
051        OscalImplementationCommonModule.class
052    },
053    remarks = "This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
054            + "\n"
055            + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
056            + "\n"
057            + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
058            + "\n"
059            + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`."
060)
061public final class OscalAssessmentCommonModule extends AbstractBoundModule {
062  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Assessment Layer Format -- Common Modules");
063
064  private static final String SHORT_NAME = "oscal-assessment-common";
065
066  private static final String VERSION = "1.2.0";
067
068  private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0");
069
070  private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal");
071
072  private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("This contains all modules common to the assessment plan, assessment results, and POAM models.\n"
073      + "\n"
074      + "The root of the OSCAL Assessment Plan format is `assessment-plan`.\n"
075      + "\n"
076      + "The root of the OSCAL Assessment Results format is `assessment-results`.\n"
077      + "\n"
078      + "The root of the OSCAL Plan of Action and Milestones (POA\\&M) format is `plan-of-action-and-milestones`.");
079
080  /**
081   * Construct a new module instance.
082   *
083   * @param importedModules
084   *           modules imported by this module
085   * @param bindingContext
086   *           the binding context to associate with this module
087   */
088  public OscalAssessmentCommonModule(List<? extends IBoundModule> importedModules,
089      IBindingContext bindingContext) {
090    super(importedModules, bindingContext);
091  }
092
093  @Override
094  public MarkupLine getName() {
095    return NAME;
096  }
097
098  @Override
099  public String getShortName() {
100    return SHORT_NAME;
101  }
102
103  @Override
104  public String getVersion() {
105    return VERSION;
106  }
107
108  @Override
109  public URI getXmlNamespace() {
110    return XML_NAMESPACE;
111  }
112
113  @Override
114  public URI getJsonBaseUri() {
115    return JSON_BASE_URI;
116  }
117
118  @Override
119  public MarkupMultiline getRemarks() {
120    return REMARKS;
121  }
122}