001package gov.nist.secauto.oscal.lib.model;
002
003import gov.nist.secauto.metaschema.core.model.IBoundObject;
004import gov.nist.secauto.metaschema.core.model.IMetaschemaData;
005import gov.nist.secauto.metaschema.databind.model.annotations.BoundField;
006import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly;
007import java.lang.Override;
008import java.lang.String;
009import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
010import org.apache.commons.lang3.builder.ToStringStyle;
011
012/**
013 * The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.
014 */
015@MetaschemaAssembly(
016    formalName = "Security Impact Level",
017    description = "The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.",
018    name = "security-impact-level",
019    moduleClass = OscalSspModule.class
020)
021public class SecurityImpactLevel implements IBoundObject {
022  private final IMetaschemaData __metaschemaData;
023
024  @BoundField(
025      formalName = "Security Objective: Confidentiality",
026      description = "A target-level of confidentiality for the system, based on the sensitivity of information within the system.",
027      useName = "security-objective-confidentiality",
028      minOccurs = 1
029  )
030  private String _securityObjectiveConfidentiality;
031
032  @BoundField(
033      formalName = "Security Objective: Integrity",
034      description = "A target-level of integrity for the system, based on the sensitivity of information within the system.",
035      useName = "security-objective-integrity",
036      minOccurs = 1
037  )
038  private String _securityObjectiveIntegrity;
039
040  @BoundField(
041      formalName = "Security Objective: Availability",
042      description = "A target-level of availability for the system, based on the sensitivity of information within the system.",
043      useName = "security-objective-availability",
044      minOccurs = 1
045  )
046  private String _securityObjectiveAvailability;
047
048  public SecurityImpactLevel() {
049    this(null);
050  }
051
052  public SecurityImpactLevel(IMetaschemaData data) {
053    this.__metaschemaData = data;
054  }
055
056  @Override
057  public IMetaschemaData getMetaschemaData() {
058    return __metaschemaData;
059  }
060
061  public String getSecurityObjectiveConfidentiality() {
062    return _securityObjectiveConfidentiality;
063  }
064
065  public void setSecurityObjectiveConfidentiality(String value) {
066    _securityObjectiveConfidentiality = value;
067  }
068
069  public String getSecurityObjectiveIntegrity() {
070    return _securityObjectiveIntegrity;
071  }
072
073  public void setSecurityObjectiveIntegrity(String value) {
074    _securityObjectiveIntegrity = value;
075  }
076
077  public String getSecurityObjectiveAvailability() {
078    return _securityObjectiveAvailability;
079  }
080
081  public void setSecurityObjectiveAvailability(String value) {
082    _securityObjectiveAvailability = value;
083  }
084
085  @Override
086  public String toString() {
087    return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString();
088  }
089}