View Javadoc
1   package gov.nist.secauto.oscal.lib.model;
2   
3   import gov.nist.secauto.metaschema.binding.model.annotations.BoundField;
4   import gov.nist.secauto.metaschema.binding.model.annotations.BoundFieldValue;
5   import gov.nist.secauto.metaschema.binding.model.annotations.BoundFlag;
6   import gov.nist.secauto.metaschema.binding.model.annotations.MetaschemaAssembly;
7   import gov.nist.secauto.metaschema.model.common.datatype.adapter.UriReferenceAdapter;
8   import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline;
9   import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultilineAdapter;
10  import java.lang.Override;
11  import java.lang.String;
12  import java.net.URI;
13  import org.apache.commons.lang3.builder.MultilineRecursiveToStringStyle;
14  import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
15  
16  /**
17   * Used by the assessment plan and POA&M to import information about the system.
18   */
19  @MetaschemaAssembly(
20      formalName = "Import System Security Plan",
21      description = "Used by the assessment plan and POA\\&M to import information about the system.",
22      name = "import-ssp",
23      metaschema = OscalAssessmentCommonMetaschema.class
24  )
25  public class ImportSsp {
26    @BoundFlag(
27        formalName = "System Security Plan Reference",
28        description = "A resolvable URL reference to the system security plan for the system being assessed.",
29        useName = "href",
30        required = true,
31        typeAdapter = UriReferenceAdapter.class,
32        remarks = "This value may be one of:\n"
33                + "\n"
34                + "1. an [absolute URI](https://pages.nist.gov/OSCAL/concepts/uri-use/#absolute-uri) that points to a network resolvable resource,\n"
35                + "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"
36                + "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))."
37    )
38    private URI _href;
39  
40    @BoundField(
41        formalName = "Remarks",
42        description = "Additional commentary about the containing object.",
43        useName = "remarks"
44    )
45    @BoundFieldValue(
46        typeAdapter = MarkupMultilineAdapter.class
47    )
48    private MarkupMultiline _remarks;
49  
50    public ImportSsp() {
51    }
52  
53    public URI getHref() {
54      return _href;
55    }
56  
57    public void setHref(URI value) {
58      _href = value;
59    }
60  
61    public MarkupMultiline getRemarks() {
62      return _remarks;
63    }
64  
65    public void setRemarks(MarkupMultiline value) {
66      _remarks = value;
67    }
68  
69    @Override
70    public String toString() {
71      return new ReflectionToStringBuilder(this, MultilineRecursiveToStringStyle.MULTI_LINE_STYLE).toString();
72    }
73  }