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.UuidAdapter;
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.util.UUID;
13  import org.apache.commons.lang3.builder.MultilineRecursiveToStringStyle;
14  import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
15  
16  /**
17   * The collection of components comprising this capability.
18   */
19  @MetaschemaAssembly(
20      formalName = "Incorporates Component",
21      description = "The collection of components comprising this capability.",
22      name = "incorporates-component",
23      metaschema = OscalComponentDefinitionMetaschema.class
24  )
25  public class IncorporatesComponent {
26    @BoundFlag(
27        formalName = "Component Reference",
28        description = "A [machine-oriented](https://pages.nist.gov/OSCAL/concepts/identifier-use/#machine-oriented) identifier reference to a `component`.",
29        useName = "component-uuid",
30        required = true,
31        typeAdapter = UuidAdapter.class
32    )
33    private UUID _componentUuid;
34  
35    /**
36     * "A description of the component, including information about its function."
37     */
38    @BoundField(
39        formalName = "Component Description",
40        description = "A description of the component, including information about its function.",
41        useName = "description",
42        minOccurs = 1
43    )
44    @BoundFieldValue(
45        typeAdapter = MarkupMultilineAdapter.class
46    )
47    private MarkupMultiline _description;
48  
49    public IncorporatesComponent() {
50    }
51  
52    public UUID getComponentUuid() {
53      return _componentUuid;
54    }
55  
56    public void setComponentUuid(UUID value) {
57      _componentUuid = value;
58    }
59  
60    public MarkupMultiline getDescription() {
61      return _description;
62    }
63  
64    public void setDescription(MarkupMultiline value) {
65      _description = value;
66    }
67  
68    @Override
69    public String toString() {
70      return new ReflectionToStringBuilder(this, MultilineRecursiveToStringStyle.MULTI_LINE_STYLE).toString();
71    }
72  }