001// Generated from: ../../../../../../../../oscal/src/metaschema/oscal_control-common_metaschema.xml 002// Do not edit - changes will be lost when regenerated. 003package dev.metaschema.oscal.lib.model; 004 005import dev.metaschema.core.datatype.markup.MarkupMultiline; 006import dev.metaschema.core.datatype.markup.MarkupMultilineAdapter; 007import dev.metaschema.core.model.IBoundObject; 008import dev.metaschema.core.model.IMetaschemaData; 009import dev.metaschema.core.util.ObjectUtils; 010import dev.metaschema.databind.model.annotations.BoundField; 011import dev.metaschema.databind.model.annotations.MetaschemaAssembly; 012import edu.umd.cs.findbugs.annotations.NonNull; 013import org.apache.commons.lang3.builder.ReflectionToStringBuilder; 014import org.apache.commons.lang3.builder.ToStringStyle; 015 016/** 017 * A prose statement that provides a recommendation for the use of a parameter. 018 */ 019@MetaschemaAssembly( 020 formalName = "Guideline", 021 description = "A prose statement that provides a recommendation for the use of a parameter.", 022 name = "parameter-guideline", 023 moduleClass = OscalControlCommonModule.class 024) 025public class ParameterGuideline implements IBoundObject { 026 private final IMetaschemaData __metaschemaData; 027 028 /** 029 * Prose permits multiple paragraphs, lists, tables etc. 030 */ 031 @BoundField( 032 formalName = "Guideline Text", 033 description = "Prose permits multiple paragraphs, lists, tables etc.", 034 useName = "prose", 035 minOccurs = 1, 036 inXmlWrapped = false, 037 typeAdapter = MarkupMultilineAdapter.class 038 ) 039 private MarkupMultiline _prose; 040 041 /** 042 * Constructs a new {@code dev.metaschema.oscal.lib.model.ParameterGuideline} instance with no metadata. 043 */ 044 public ParameterGuideline() { 045 this(null); 046 } 047 048 /** 049 * Constructs a new {@code dev.metaschema.oscal.lib.model.ParameterGuideline} instance with the specified metadata. 050 * 051 * @param data 052 * the metaschema data, or {@code null} if none 053 */ 054 public ParameterGuideline(IMetaschemaData data) { 055 this.__metaschemaData = data; 056 } 057 058 @Override 059 public IMetaschemaData getMetaschemaData() { 060 return __metaschemaData; 061 } 062 063 /** 064 * Get the "{@literal Guideline Text}". 065 * 066 * <p> 067 * Prose permits multiple paragraphs, lists, tables etc. 068 * 069 * @return the prose value 070 */ 071 @NonNull 072 public MarkupMultiline getProse() { 073 return _prose; 074 } 075 076 /** 077 * Set the "{@literal Guideline Text}". 078 * 079 * <p> 080 * Prose permits multiple paragraphs, lists, tables etc. 081 * 082 * @param value 083 * the prose value to set 084 */ 085 public void setProse(@NonNull MarkupMultiline value) { 086 _prose = value; 087 } 088 089 @Override 090 public String toString() { 091 return ObjectUtils.notNull(new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString()); 092 } 093}