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
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 }