001// Generated from: ../../../../../../../../oscal/src/metaschema/oscal_ssp_metaschema.xml 002// Do not edit - changes will be lost when regenerated. 003package dev.metaschema.oscal.lib.model; 004 005import dev.metaschema.core.datatype.adapter.StringAdapter; 006import dev.metaschema.core.model.IBoundObject; 007import dev.metaschema.core.model.IMetaschemaData; 008import dev.metaschema.core.util.ObjectUtils; 009import dev.metaschema.databind.model.annotations.BoundField; 010import dev.metaschema.databind.model.annotations.MetaschemaAssembly; 011import edu.umd.cs.findbugs.annotations.NonNull; 012import org.apache.commons.lang3.builder.ReflectionToStringBuilder; 013import org.apache.commons.lang3.builder.ToStringStyle; 014 015/** 016 * The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information. 017 */ 018@MetaschemaAssembly( 019 formalName = "Security Impact Level", 020 description = "The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.", 021 name = "security-impact-level", 022 moduleClass = OscalSspModule.class 023) 024public class SecurityImpactLevel implements IBoundObject { 025 private final IMetaschemaData __metaschemaData; 026 027 /** 028 * A target-level of confidentiality for the system, based on the sensitivity of information within the system. 029 */ 030 @BoundField( 031 formalName = "Security Objective: Confidentiality", 032 description = "A target-level of confidentiality for the system, based on the sensitivity of information within the system.", 033 useName = "security-objective-confidentiality", 034 minOccurs = 1, 035 typeAdapter = StringAdapter.class 036 ) 037 private String _securityObjectiveConfidentiality; 038 039 /** 040 * A target-level of integrity for the system, based on the sensitivity of information within the system. 041 */ 042 @BoundField( 043 formalName = "Security Objective: Integrity", 044 description = "A target-level of integrity for the system, based on the sensitivity of information within the system.", 045 useName = "security-objective-integrity", 046 minOccurs = 1, 047 typeAdapter = StringAdapter.class 048 ) 049 private String _securityObjectiveIntegrity; 050 051 /** 052 * A target-level of availability for the system, based on the sensitivity of information within the system. 053 */ 054 @BoundField( 055 formalName = "Security Objective: Availability", 056 description = "A target-level of availability for the system, based on the sensitivity of information within the system.", 057 useName = "security-objective-availability", 058 minOccurs = 1, 059 typeAdapter = StringAdapter.class 060 ) 061 private String _securityObjectiveAvailability; 062 063 /** 064 * Constructs a new {@code dev.metaschema.oscal.lib.model.SecurityImpactLevel} instance with no metadata. 065 */ 066 public SecurityImpactLevel() { 067 this(null); 068 } 069 070 /** 071 * Constructs a new {@code dev.metaschema.oscal.lib.model.SecurityImpactLevel} instance with the specified metadata. 072 * 073 * @param data 074 * the metaschema data, or {@code null} if none 075 */ 076 public SecurityImpactLevel(IMetaschemaData data) { 077 this.__metaschemaData = data; 078 } 079 080 @Override 081 public IMetaschemaData getMetaschemaData() { 082 return __metaschemaData; 083 } 084 085 /** 086 * Get the "{@literal Security Objective: Confidentiality}". 087 * 088 * <p> 089 * A target-level of confidentiality for the system, based on the sensitivity of information within the system. 090 * 091 * @return the security-objective-confidentiality value 092 */ 093 @NonNull 094 public String getSecurityObjectiveConfidentiality() { 095 return _securityObjectiveConfidentiality; 096 } 097 098 /** 099 * Set the "{@literal Security Objective: Confidentiality}". 100 * 101 * <p> 102 * A target-level of confidentiality for the system, based on the sensitivity of information within the system. 103 * 104 * @param value 105 * the security-objective-confidentiality value to set 106 */ 107 public void setSecurityObjectiveConfidentiality(@NonNull String value) { 108 _securityObjectiveConfidentiality = value; 109 } 110 111 /** 112 * Get the "{@literal Security Objective: Integrity}". 113 * 114 * <p> 115 * A target-level of integrity for the system, based on the sensitivity of information within the system. 116 * 117 * @return the security-objective-integrity value 118 */ 119 @NonNull 120 public String getSecurityObjectiveIntegrity() { 121 return _securityObjectiveIntegrity; 122 } 123 124 /** 125 * Set the "{@literal Security Objective: Integrity}". 126 * 127 * <p> 128 * A target-level of integrity for the system, based on the sensitivity of information within the system. 129 * 130 * @param value 131 * the security-objective-integrity value to set 132 */ 133 public void setSecurityObjectiveIntegrity(@NonNull String value) { 134 _securityObjectiveIntegrity = value; 135 } 136 137 /** 138 * Get the "{@literal Security Objective: Availability}". 139 * 140 * <p> 141 * A target-level of availability for the system, based on the sensitivity of information within the system. 142 * 143 * @return the security-objective-availability value 144 */ 145 @NonNull 146 public String getSecurityObjectiveAvailability() { 147 return _securityObjectiveAvailability; 148 } 149 150 /** 151 * Set the "{@literal Security Objective: Availability}". 152 * 153 * <p> 154 * A target-level of availability for the system, based on the sensitivity of information within the system. 155 * 156 * @param value 157 * the security-objective-availability value to set 158 */ 159 public void setSecurityObjectiveAvailability(@NonNull String value) { 160 _securityObjectiveAvailability = value; 161 } 162 163 @Override 164 public String toString() { 165 return ObjectUtils.notNull(new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString()); 166 } 167}