001// Generated from: ../../../../../../../../oscal/src/metaschema/oscal_assessment-results_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.UriReferenceAdapter; 006import dev.metaschema.core.datatype.markup.MarkupMultiline; 007import dev.metaschema.core.datatype.markup.MarkupMultilineAdapter; 008import dev.metaschema.core.model.IBoundObject; 009import dev.metaschema.core.model.IMetaschemaData; 010import dev.metaschema.core.util.ObjectUtils; 011import dev.metaschema.databind.model.annotations.BoundField; 012import dev.metaschema.databind.model.annotations.BoundFlag; 013import dev.metaschema.databind.model.annotations.MetaschemaAssembly; 014import edu.umd.cs.findbugs.annotations.NonNull; 015import edu.umd.cs.findbugs.annotations.Nullable; 016import java.net.URI; 017import org.apache.commons.lang3.builder.ReflectionToStringBuilder; 018import org.apache.commons.lang3.builder.ToStringStyle; 019 020/** 021 * Used by assessment-results to import information about the original plan for assessing the system. 022 */ 023@MetaschemaAssembly( 024 formalName = "Import Assessment Plan", 025 description = "Used by assessment-results to import information about the original plan for assessing the system.", 026 name = "import-ap", 027 moduleClass = OscalArModule.class 028) 029public class ImportAp implements IBoundObject { 030 private final IMetaschemaData __metaschemaData; 031 032 /** 033 * A resolvable URL reference to the assessment plan governing the assessment activities. 034 */ 035 @BoundFlag( 036 formalName = "Assessment Plan Reference", 037 description = "A resolvable URL reference to the assessment plan governing the assessment activities.", 038 name = "href", 039 required = true, 040 typeAdapter = UriReferenceAdapter.class, 041 remarks = "This value may be one of:\n" 042 + "\n" 043 + "1. an [absolute URI](https://pages.nist.gov/OSCAL/concepts/uri-use/#absolute-uri) that points to a network resolvable resource,\n" 044 + "2. a [relative reference](https://pages.nist.gov/OSCAL/concepts/uri-use/#relative-reference) pointing to a network resolvable resource whose base URI is the URI of the containing document, or\n" 045 + "3. a bare URI fragment (i.e., \\`#uuid\\`) pointing to a `back-matter` resource in this or an imported document (see [linking to another OSCAL object](https://pages.nist.gov/OSCAL/concepts/uri-use/#linking-to-another-oscal-object))." 046 ) 047 private URI _href; 048 049 /** 050 * Additional commentary about the containing object. 051 */ 052 @BoundField( 053 formalName = "Remarks", 054 description = "Additional commentary about the containing object.", 055 useName = "remarks", 056 typeAdapter = MarkupMultilineAdapter.class 057 ) 058 private MarkupMultiline _remarks; 059 060 /** 061 * Constructs a new {@code dev.metaschema.oscal.lib.model.ImportAp} instance with no metadata. 062 */ 063 public ImportAp() { 064 this(null); 065 } 066 067 /** 068 * Constructs a new {@code dev.metaschema.oscal.lib.model.ImportAp} instance with the specified metadata. 069 * 070 * @param data 071 * the metaschema data, or {@code null} if none 072 */ 073 public ImportAp(IMetaschemaData data) { 074 this.__metaschemaData = data; 075 } 076 077 @Override 078 public IMetaschemaData getMetaschemaData() { 079 return __metaschemaData; 080 } 081 082 /** 083 * Get the "{@literal Assessment Plan Reference}". 084 * 085 * <p> 086 * A resolvable URL reference to the assessment plan governing the assessment activities. 087 * 088 * @return the href value 089 */ 090 @NonNull 091 public URI getHref() { 092 return _href; 093 } 094 095 /** 096 * Set the "{@literal Assessment Plan Reference}". 097 * 098 * <p> 099 * A resolvable URL reference to the assessment plan governing the assessment activities. 100 * 101 * @param value 102 * the href value to set 103 */ 104 public void setHref(@NonNull URI value) { 105 _href = value; 106 } 107 108 /** 109 * Get the "{@literal Remarks}". 110 * 111 * <p> 112 * Additional commentary about the containing object. 113 * 114 * @return the remarks value, or {@code null} if not set 115 */ 116 @Nullable 117 public MarkupMultiline getRemarks() { 118 return _remarks; 119 } 120 121 /** 122 * Set the "{@literal Remarks}". 123 * 124 * <p> 125 * Additional commentary about the containing object. 126 * 127 * @param value 128 * the remarks value to set, or {@code null} to clear 129 */ 130 public void setRemarks(@Nullable MarkupMultiline value) { 131 _remarks = value; 132 } 133 134 @Override 135 public String toString() { 136 return ObjectUtils.notNull(new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString()); 137 } 138}