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}