001package gov.nist.secauto.oscal.lib.model;
002
003import gov.nist.secauto.metaschema.binding.model.annotations.BoundField;
004import gov.nist.secauto.metaschema.binding.model.annotations.BoundFieldValue;
005import gov.nist.secauto.metaschema.binding.model.annotations.MetaschemaAssembly;
006import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultiline;
007import gov.nist.secauto.metaschema.model.common.datatype.markup.MarkupMultilineAdapter;
008import java.lang.Override;
009import java.lang.String;
010import org.apache.commons.lang3.builder.MultilineRecursiveToStringStyle;
011import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
012
013/**
014 * A prose statement that provides a recommendation for the use of a parameter.
015 */
016@MetaschemaAssembly(
017    formalName = "Guideline",
018    description = "A prose statement that provides a recommendation for the use of a parameter.",
019    name = "parameter-guideline",
020    metaschema = OscalControlCommonMetaschema.class
021)
022public class ParameterGuideline {
023  /**
024   * "Prose permits multiple paragraphs, lists, tables etc."
025   */
026  @BoundField(
027      formalName = "Guideline Text",
028      description = "Prose permits multiple paragraphs, lists, tables etc.",
029      useName = "prose",
030      namespace = "##none",
031      minOccurs = 1,
032      inXmlWrapped = false
033  )
034  @BoundFieldValue(
035      typeAdapter = MarkupMultilineAdapter.class
036  )
037  private MarkupMultiline _prose;
038
039  public ParameterGuideline() {
040  }
041
042  public MarkupMultiline getProse() {
043    return _prose;
044  }
045
046  public void setProse(MarkupMultiline value) {
047    _prose = value;
048  }
049
050  @Override
051  public String toString() {
052    return new ReflectionToStringBuilder(this, MultilineRecursiveToStringStyle.MULTI_LINE_STYLE).toString();
053  }
054}