Class ProfileImport

java.lang.Object
dev.metaschema.oscal.lib.model.ProfileImport
All Implemented Interfaces:
dev.metaschema.core.model.IBoundObject

@MetaschemaAssembly(formalName="Import Resource", description="Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline.", name="import", moduleClass=OscalProfileModule.class, remarks="The contents of the `import` element indicate which controls from the source will be included. Controls from the source catalog or profile may be either selected, using the `include-all` or `include-controls` directives, or de-selected (using an `exclude-controls` directive).", valueConstraints=@ValueConstraints(lets=@Let(name="resolved-profile-import",target=".[@href] ! resolve-profile(doc(resolve-uri(Q{http://csrc.nist.gov/ns/oscal/1.0}resolve-reference(@href))))/catalog"),indexHasKey=@IndexHasKey(id="oscal-profile-import-has-key-include-exclude-control-id",level=ERROR,target="(include-controls|exclude-controls)/with-id",indexName="profile-import-index-control-id",keyFields=@KeyField)), modelConstraints=@AssemblyConstraints(index=@Index(id="oscal-profile-import-index-control-id",formalName="In-Scope Control Identifiers",description="An index of control identifiers that are in-scope for selection in the profile import.",level=ERROR,target="$resolved-profile-import//control",name="profile-import-index-control-id",keyFields=@KeyField(target="@id")))) public class ProfileImport extends Object implements dev.metaschema.core.model.IBoundObject
Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline.
  • Constructor Details

    • ProfileImport

      public ProfileImport()
      Constructs a new dev.metaschema.oscal.lib.model.ProfileImport instance with no metadata.
    • ProfileImport

      public ProfileImport(dev.metaschema.core.model.IMetaschemaData data)
      Constructs a new dev.metaschema.oscal.lib.model.ProfileImport instance with the specified metadata.
      Parameters:
      data - the metaschema data, or null if none
  • Method Details

    • getMetaschemaData

      public dev.metaschema.core.model.IMetaschemaData getMetaschemaData()
      Specified by:
      getMetaschemaData in interface dev.metaschema.core.model.IBoundObject
    • getHref

      @NonNull public URI getHref()
      Get the "Catalog or Profile Reference".

      A resolvable URL reference to the base catalog or profile that this profile is tailoring.

      Returns:
      the href value
    • setHref

      public void setHref(@NonNull URI value)
      Set the "Catalog or Profile Reference".

      A resolvable URL reference to the base catalog or profile that this profile is tailoring.

      Parameters:
      value - the href value to set
    • getIncludeAll

      @Nullable public IncludeAll getIncludeAll()
      Get the "Include All".

      Include all controls from the imported catalog or profile resources.

      Returns:
      the include-all value, or null if not set
    • setIncludeAll

      public void setIncludeAll(@Nullable IncludeAll value)
      Set the "Include All".

      Include all controls from the imported catalog or profile resources.

      Parameters:
      value - the include-all value to set, or null to clear
    • getIncludeControls

      Get the "Select Control".

      Select a control or controls from an imported control set.

      Returns:
      the include-controls value
    • setIncludeControls

      public void setIncludeControls(@NonNull List<ProfileSelectControlById> value)
      Set the "Select Control".

      Select a control or controls from an imported control set.

      Parameters:
      value - the include-controls value to set
    • addIncludeControls

      Add a new ProfileSelectControlById item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeIncludeControls

      Remove the first matching ProfileSelectControlById item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • getExcludeControls

      Get the "Select Control".

      Select a control or controls from an imported control set.

      Returns:
      the exclude-controls value
    • setExcludeControls

      public void setExcludeControls(@NonNull List<ProfileSelectControlById> value)
      Set the "Select Control".

      Select a control or controls from an imported control set.

      Parameters:
      value - the exclude-controls value to set
    • addExcludeControls

      Add a new ProfileSelectControlById item to the underlying collection.
      Parameters:
      item - the item to add
      Returns:
      true
    • removeExcludeControls

      Remove the first matching ProfileSelectControlById item from the underlying collection.
      Parameters:
      item - the item to remove
      Returns:
      true if the item was removed or false otherwise
    • toString

      public String toString()
      Overrides:
      toString in class Object