ParameterGuideline.java

package gov.nist.secauto.oscal.lib.model;

import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline;
import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultilineAdapter;
import gov.nist.secauto.metaschema.core.model.IBoundObject;
import gov.nist.secauto.metaschema.core.model.IMetaschemaData;
import gov.nist.secauto.metaschema.databind.model.annotations.BoundField;
import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly;
import java.lang.Override;
import java.lang.String;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * A prose statement that provides a recommendation for the use of a parameter.
 */
@MetaschemaAssembly(
    formalName = "Guideline",
    description = "A prose statement that provides a recommendation for the use of a parameter.",
    name = "parameter-guideline",
    moduleClass = OscalControlCommonModule.class
)
public class ParameterGuideline implements IBoundObject {
  private final IMetaschemaData __metaschemaData;

  @BoundField(
      formalName = "Guideline Text",
      description = "Prose permits multiple paragraphs, lists, tables etc.",
      useName = "prose",
      minOccurs = 1,
      inXmlWrapped = false,
      typeAdapter = MarkupMultilineAdapter.class
  )
  private MarkupMultiline _prose;

  public ParameterGuideline() {
    this(null);
  }

  public ParameterGuideline(IMetaschemaData data) {
    this.__metaschemaData = data;
  }

  @Override
  public IMetaschemaData getMetaschemaData() {
    return __metaschemaData;
  }

  public MarkupMultiline getProse() {
    return _prose;
  }

  public void setProse(MarkupMultiline value) {
    _prose = value;
  }

  @Override
  public String toString() {
    return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString();
  }
}