SecurityImpactLevel.java

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

import gov.nist.secauto.metaschema.core.model.IBoundObject;
import gov.nist.secauto.metaschema.core.model.IMetaschemaData;
import gov.nist.secauto.metaschema.databind.model.annotations.BoundField;
import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly;
import java.lang.Override;
import java.lang.String;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.
 */
@MetaschemaAssembly(
    formalName = "Security Impact Level",
    description = "The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.",
    name = "security-impact-level",
    moduleClass = OscalSspModule.class
)
public class SecurityImpactLevel implements IBoundObject {
  private final IMetaschemaData __metaschemaData;

  @BoundField(
      formalName = "Security Objective: Confidentiality",
      description = "A target-level of confidentiality for the system, based on the sensitivity of information within the system.",
      useName = "security-objective-confidentiality",
      minOccurs = 1
  )
  private String _securityObjectiveConfidentiality;

  @BoundField(
      formalName = "Security Objective: Integrity",
      description = "A target-level of integrity for the system, based on the sensitivity of information within the system.",
      useName = "security-objective-integrity",
      minOccurs = 1
  )
  private String _securityObjectiveIntegrity;

  @BoundField(
      formalName = "Security Objective: Availability",
      description = "A target-level of availability for the system, based on the sensitivity of information within the system.",
      useName = "security-objective-availability",
      minOccurs = 1
  )
  private String _securityObjectiveAvailability;

  public SecurityImpactLevel() {
    this(null);
  }

  public SecurityImpactLevel(IMetaschemaData data) {
    this.__metaschemaData = data;
  }

  @Override
  public IMetaschemaData getMetaschemaData() {
    return __metaschemaData;
  }

  public String getSecurityObjectiveConfidentiality() {
    return _securityObjectiveConfidentiality;
  }

  public void setSecurityObjectiveConfidentiality(String value) {
    _securityObjectiveConfidentiality = value;
  }

  public String getSecurityObjectiveIntegrity() {
    return _securityObjectiveIntegrity;
  }

  public void setSecurityObjectiveIntegrity(String value) {
    _securityObjectiveIntegrity = value;
  }

  public String getSecurityObjectiveAvailability() {
    return _securityObjectiveAvailability;
  }

  public void setSecurityObjectiveAvailability(String value) {
    _securityObjectiveAvailability = value;
  }

  @Override
  public String toString() {
    return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString();
  }
}