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