001package gov.nist.secauto.oscal.lib.model; 002 003import gov.nist.secauto.metaschema.core.datatype.adapter.UriReferenceAdapter; 004import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline; 005import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilineAdapter; 006import gov.nist.secauto.metaschema.core.model.IBoundObject; 007import gov.nist.secauto.metaschema.core.model.IMetaschemaData; 008import gov.nist.secauto.metaschema.databind.model.annotations.BoundField; 009import gov.nist.secauto.metaschema.databind.model.annotations.BoundFlag; 010import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly; 011import java.lang.Override; 012import java.lang.String; 013import java.net.URI; 014import org.apache.commons.lang3.builder.ReflectionToStringBuilder; 015import org.apache.commons.lang3.builder.ToStringStyle; 016 017/** 018 * Used by assessment-results to import information about the original plan for assessing the system. 019 */ 020@MetaschemaAssembly( 021 formalName = "Import Assessment Plan", 022 description = "Used by assessment-results to import information about the original plan for assessing the system.", 023 name = "import-ap", 024 moduleClass = OscalArModule.class 025) 026public class ImportAp implements IBoundObject { 027 private final IMetaschemaData __metaschemaData; 028 029 /** 030 * "A resolvable URL reference to the assessment plan governing the assessment activities." 031 */ 032 @BoundFlag( 033 formalName = "Assessment Plan Reference", 034 description = "A resolvable URL reference to the assessment plan governing the assessment activities.", 035 name = "href", 036 required = true, 037 typeAdapter = UriReferenceAdapter.class, 038 remarks = "This value may be one of:\n" 039 + "\n" 040 + "1. an [absolute URI](https://pages.nist.gov/OSCAL/concepts/uri-use/#absolute-uri) that points to a network resolvable resource,\n" 041 + "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" 042 + "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))." 043 ) 044 private URI _href; 045 046 @BoundField( 047 formalName = "Remarks", 048 description = "Additional commentary about the containing object.", 049 useName = "remarks", 050 typeAdapter = MarkupMultilineAdapter.class 051 ) 052 private MarkupMultiline _remarks; 053 054 public ImportAp() { 055 this(null); 056 } 057 058 public ImportAp(IMetaschemaData data) { 059 this.__metaschemaData = data; 060 } 061 062 @Override 063 public IMetaschemaData getMetaschemaData() { 064 return __metaschemaData; 065 } 066 067 public URI getHref() { 068 return _href; 069 } 070 071 public void setHref(URI value) { 072 _href = value; 073 } 074 075 public MarkupMultiline getRemarks() { 076 return _remarks; 077 } 078 079 public void setRemarks(MarkupMultiline value) { 080 _remarks = value; 081 } 082 083 @Override 084 public String toString() { 085 return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString(); 086 } 087}