All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gov.nist.secauto.oscal.lib.model.OscalComponentDefinitionMetaschema Maven / Gradle / Ivy

package gov.nist.secauto.oscal.lib.model;

import gov.nist.secauto.metaschema.binding.IBindingContext;
import gov.nist.secauto.metaschema.binding.model.AbstractBoundMetaschema;
import gov.nist.secauto.metaschema.binding.model.annotations.Metaschema;
import gov.nist.secauto.metaschema.model.common.IMetaschema;
import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupLine;
import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline;
import java.lang.Override;
import java.lang.String;
import java.net.URI;
import java.util.List;

@Metaschema(
    assemblies = {
        ComponentDefinition.class,
        ImportComponentDefinition.class,
        DefinedComponent.class,
        Capability.class,
        IncorporatesComponent.class,
        ComponentControlImplementation.class,
        ComponentImplementedRequirement.class,
        ComponentStatement.class
    },
    imports = OscalImplementationCommonMetaschema.class,
    remarks = "The OSCAL Component Definition Model can be used to describe the implementation of controls in a `component` or a set of components grouped as a `capability`. A component can be either a *technical component* , or a *documentary component*. A technical component is a component that is implemented in hardware (physical or virtual) or software. A documentary component is a component implemented in a document, such as a process, procedure, or policy.\n"
            + "\n"
            + "The root of the OSCAL Implementation Component format is `component-definition`.\n"
            + "\n"
            + "NOTE: This documentation is a work in progress. As a result, documentation for many of the information elements is missing or incomplete."
)
public final class OscalComponentDefinitionMetaschema extends AbstractBoundMetaschema {
  private static final MarkupLine NAME = MarkupLine.fromMarkdown("OSCAL Component Definition Model");

  private static final String SHORT_NAME = "oscal-component-definition";

  private static final String VERSION = "1.0.4";

  private static final URI XML_NAMESPACE = URI.create("http://csrc.nist.gov/ns/oscal/1.0");

  private static final URI JSON_BASE_URI = URI.create("http://csrc.nist.gov/ns/oscal");

  private static final MarkupMultiline REMARKS = MarkupMultiline.fromMarkdown("The OSCAL Component Definition Model can be used to describe the implementation of controls in a `component` or a set of components grouped as a `capability`. A component can be either a *technical component* , or a *documentary component*. A technical component is a component that is implemented in hardware (physical or virtual) or software. A documentary component is a component implemented in a document, such as a process, procedure, or policy.\n"
      + "\n"
      + "The root of the OSCAL Implementation Component format is `component-definition`.\n"
      + "\n"
      + "NOTE: This documentation is a work in progress. As a result, documentation for many of the information elements is missing or incomplete.");

  public OscalComponentDefinitionMetaschema(List importedMetaschema,
      IBindingContext bindingContext) {
    super(importedMetaschema, bindingContext);
  }

  @Override
  public MarkupLine getName() {
    return NAME;
  }

  @Override
  public String getShortName() {
    return SHORT_NAME;
  }

  @Override
  public String getVersion() {
    return VERSION;
  }

  @Override
  public URI getXmlNamespace() {
    return XML_NAMESPACE;
  }

  @Override
  public URI getJsonBaseUri() {
    return JSON_BASE_URI;
  }

  @Override
  public MarkupMultiline getRemarks() {
    return REMARKS;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy