View Javadoc

1   /*
2    * Copyright 2007 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.kns.web.ui;
17  
18  import org.apache.commons.lang.StringUtils;
19  import org.kuali.rice.core.api.util.KeyValue;
20  import org.kuali.rice.core.web.format.Formatter;
21  import org.kuali.rice.kew.util.KEWConstants;
22  import org.kuali.rice.kns.lookup.HtmlData;
23  import org.kuali.rice.krad.datadictionary.mask.Mask;
24  import org.kuali.rice.krad.util.KRADConstants;
25  import org.kuali.rice.krad.util.KRADUtils;
26  import org.kuali.rice.krad.util.ObjectUtils;
27  
28  import java.util.ArrayList;
29  import java.util.HashMap;
30  import java.util.HashSet;
31  import java.util.Iterator;
32  import java.util.List;
33  import java.util.Map;
34  import java.util.Set;
35  
36  /**
37   * Represents a Field (form field or read only)
38   *
39   * @author Kuali Rice Team (rice.collab@kuali.org)
40   */
41  @Deprecated
42  public class Field implements java.io.Serializable, PropertyRenderingConfigElement {
43      private static final long serialVersionUID = 6549897986355019202L;
44      public static final int DEFAULT_MAXLENGTH = 30;
45      public static final int DEFAULT_SIZE = 30;
46  
47      public static final String HIDDEN = "hidden";
48      public static final String TEXT = "text";
49      public static final String DROPDOWN = "dropdown";
50      public static final String MULTIBOX = "multibox";
51      public static final String MULTISELECT = "multiselect";
52      public static final String RADIO = "radio";
53      public static final String QUICKFINDER = "quickFinder";
54      public static final String LOOKUP_RESULT_ONLY = "lookupresultonly";
55      public static final String DROPDOWN_REFRESH = "dropdown_refresh";
56      public static final String DROPDOWN_SCRIPT = "dropdown_script";
57      public static final String CHECKBOX = "checkbox";
58      public static final String CURRENCY = "currency";
59      public static final String TEXT_AREA = "textarea";
60      public static final String FILE = "file";
61      public static final String IMAGE_SUBMIT = "imagesubmit";
62      public static final String CONTAINER = "container";
63      public static final String KUALIUSER = "kualiuser";
64      public static final String READONLY = "readOnly";
65      public static final String EDITABLE = "editable";
66      public static final String LOOKUP_HIDDEN = "lookuphidden";
67      public static final String LOOKUP_READONLY = "lookupreadonly";
68      public static final String WORKFLOW_WORKGROUP = "workflowworkgroup";
69      public static final String MASKED = "masked";
70      public static final String PARTIALLY_MASKED = "partiallyMasked";
71  
72      public static final String SUB_SECTION_SEPARATOR = "subSectionSeparator";
73      public static final String BLANK_SPACE = "blankSpace";
74      public static final String BUTTON = "button";
75      public static final String LINK = "link";
76  
77      //#START MOVED FROM DOC SEARCH RELATED
78      public static final String DATEPICKER = "datePicker";
79  
80      public static final Set<String> SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES;
81      public static final Set<String> MULTI_VALUE_FIELD_TYPES = new HashSet<String>();
82  
83      static {
84          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES = new HashSet<String>();
85          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES.add(HIDDEN);
86          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES.add(TEXT);
87          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES.add(CURRENCY);
88          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES.add(DROPDOWN);
89          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES.add(RADIO);
90          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES.add(DROPDOWN_REFRESH);
91          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES.add(MULTIBOX);
92          SEARCH_RESULT_DISPLAYABLE_FIELD_TYPES.add(MULTISELECT);
93  
94          MULTI_VALUE_FIELD_TYPES.add(MULTIBOX);
95          MULTI_VALUE_FIELD_TYPES.add(MULTISELECT);
96      }
97  
98      private boolean isIndexedForSearch = true;
99  
100     // following values used in ranged searches
101     private String mainFieldLabel;  // the fieldLabel holds things like "From" and "Ending" and this field holds things like "Total Amount"
102     private Boolean rangeFieldInclusive;
103     private boolean memberOfRange = false;
104     private boolean allowInlineRange = false;
105 
106     // this field is currently a hack to allow us to indicate whether or not the column of data associated
107     // with a particular field will be visible in the result set of a search or not
108     private boolean isColumnVisible = true;
109 
110     //FIXME: this one definitely seems iffy, could be confused with regular fieldType, is there another better name or can this go away?
111     private String fieldDataType = KEWConstants.SearchableAttributeConstants.DEFAULT_SEARCHABLE_ATTRIBUTE_TYPE_NAME;
112 
113     //used by multibox/select etc
114     private String[] propertyValues;
115 
116     //extra field to skip blank option value (for route node)
117     private boolean skipBlankValidValue = false;
118 
119     //#END DOC SEARCH RELATED
120 
121     private String fieldType;
122 
123     private String fieldLabel;
124     private String fieldHelpUrl;
125     private String propertyName;
126     private String propertyValue;
127 
128     private String alternateDisplayPropertyName;
129     private String alternateDisplayPropertyValue;
130     private String additionalDisplayPropertyName;
131     private String additionalDisplayPropertyValue;
132 
133     private List<KeyValue> fieldValidValues;
134     private String quickFinderClassNameImpl;
135     private String baseLookupUrl;
136 
137     private boolean clear;
138     private boolean dateField;
139     private String fieldConversions;
140     private boolean fieldRequired;
141 
142     private List fieldInactiveValidValues;
143     private Formatter formatter;
144     private boolean highlightField;
145     private boolean isReadOnly;
146     private String lookupParameters;
147     private int maxLength;
148 
149     private HtmlData inquiryURL;
150     private String propertyPrefix;
151     private int size;
152     private boolean upperCase;
153     private int rows;
154     private int cols;
155     private List<Row> containerRows;
156     private String fieldHelpSummary;
157     private String businessObjectClassName;
158     private String fieldHelpName;
159     private String script;
160     private String universalIdAttributeName;
161     private String universalIdValue;
162     private String userIdAttributeName;
163     private String personNameAttributeName;
164     private String personNameValue;
165     private String defaultValue = KRADConstants.EMPTY_STRING;
166     private boolean keyField;
167     private String displayEditMode;
168     private Mask displayMask;
169     private String displayMaskValue;
170     private String encryptedValue;
171     private boolean secure;
172     private String webOnBlurHandler;
173     private String webOnBlurHandlerCallback;
174     protected List<String> webUILeaveFieldFunctionParameters = new ArrayList<String>();
175     private String styleClass;
176     private int formattedMaxLength;
177     private String containerName;
178     private String containerElementName;
179     private List<Field> containerDisplayFields;
180     private boolean isDatePicker;
181     private boolean ranged;
182 
183     private boolean expandedTextArea;
184     private String referencesToRefresh;
185     private int numberOfColumnsForCollection;
186     public String cellAlign;
187     private String inquiryParameters;
188     private boolean fieldDirectInquiryEnabled;
189 
190     public boolean fieldLevelHelpEnabled;
191 
192     public boolean fieldLevelHelpDisabled;
193     public String fieldLevelHelpUrl;
194 
195     private String imageSrc;
196     private String target;
197     private String hrefText;
198 
199     private boolean triggerOnChange;
200 
201 
202     /**
203      * No-args constructor
204      */
205     public Field() {
206         this.fieldLevelHelpEnabled = false;
207         this.triggerOnChange = false;
208     }
209 
210     /**
211      * Constructor that creates an instance of this class to support inquirable
212      *
213      * @param propertyName property attribute of the bean
214      * @param fieldLabel   label of the display field
215      */
216     public Field(String propertyName, String fieldLabel) {
217         this.propertyName = propertyName;
218         this.fieldLabel = fieldLabel;
219         this.isReadOnly = false;
220         this.upperCase = false;
221         this.keyField = false;
222         this.secure = false;
223         this.fieldLevelHelpEnabled = false;
224         this.triggerOnChange = false;
225     }
226 
227     /**
228      * Constructor that creates an instance of this class.
229      *
230      * @param fieldLabel               label of the search criteria field
231      * @param fieldHelpUrl             url of a help link to help instructions
232      * @param fieldType                type of input field for this search criteria
233      * @param clear                    clear action flag
234      * @param propertyName             name of the bean attribute for this search criteria
235      * @param propertyValue            value of the bean attribute
236      * @param fieldRequired            flag to denote if field is required
237      * @param dateField                falg to denot if field should be validated as a date object
238      * @param fieldValidValues         used for drop down list
239      * @param quickFinderClassNameImpl class name to transfer control to quick finder
240      */
241     public Field(String fieldLabel, String fieldHelpUrl, String fieldType, boolean clear, String propertyName, String propertyValue, boolean fieldRequired, boolean dateField, List<KeyValue> fieldValidValues, String quickFinderClassNameImpl) {
242         this.dateField = dateField;
243         this.fieldLabel = fieldLabel;
244         this.fieldHelpUrl = fieldHelpUrl;
245         this.fieldType = fieldType;
246         this.fieldRequired = fieldRequired;
247         this.clear = clear;
248         this.propertyName = propertyName;
249         this.propertyValue = propertyValue;
250         this.fieldValidValues = fieldValidValues;
251         this.quickFinderClassNameImpl = quickFinderClassNameImpl;
252         this.size = DEFAULT_SIZE;
253         this.maxLength = DEFAULT_MAXLENGTH;
254         this.isReadOnly = false;
255         this.upperCase = false;
256         this.keyField = false;
257         this.fieldLevelHelpEnabled = false;
258         this.triggerOnChange = false;
259     }
260 
261     /**
262      * Constructor that creates an instance of this class.
263      *
264      * @param fieldLabel               label of the search criteria field
265      * @param fieldHelpUrl             url of a help link to help instructions
266      * @param fieldType                type of input field for this search criteria
267      * @param clear                    clear action flag
268      * @param propertyName             name of the bean attribute for this search criteria
269      * @param propertyValue            value of the bean attribute
270      * @param fieldRequired            flag to denote if field is required
271      * @param dateField                falg to denot if field should be validated as a date object
272      * @param fieldValidValues         used for drop down list
273      * @param quickFinderClassNameImpl class name to transfer control to quick finder
274      * @param size                     size of the input field
275      * @param maxLength                maxLength of the input field
276      */
277     public Field(String fieldLabel, String fieldHelpUrl, String fieldType, boolean clear, String propertyName, String propertyValue, boolean fieldRequired, boolean dateField, List<KeyValue> fieldValidValues, String quickFinderClassNameImpl, int size, int maxLength) {
278         this.dateField = dateField;
279         this.fieldLabel = fieldLabel;
280         this.fieldHelpUrl = fieldHelpUrl;
281         this.fieldType = fieldType;
282         this.fieldRequired = fieldRequired;
283         this.clear = clear;
284         this.propertyName = propertyName;
285         this.propertyValue = propertyValue;
286         this.fieldValidValues = fieldValidValues;
287         this.upperCase = false;
288         this.quickFinderClassNameImpl = quickFinderClassNameImpl;
289         if (size <= 0) {
290             this.size = DEFAULT_SIZE;
291         } else {
292             this.size = size;
293         }
294         if (size <= 0) {
295             this.size = DEFAULT_MAXLENGTH;
296         } else {
297             this.maxLength = maxLength;
298         }
299         this.isReadOnly = false;
300         this.keyField = false;
301         this.fieldLevelHelpEnabled = false;
302         this.triggerOnChange = false;
303     }
304 
305 
306     /**
307      * Helper method to determine if this is an INPUT type field
308      *
309      * @param fieldType
310      */
311     public static boolean isInputField(String fieldType) {
312         if (StringUtils.isBlank(fieldType)) {
313             return false;
314         }
315         // JJH: Would it be good to create a InputField Set and test to see if the fieldType exists in the set?
316         if (fieldType.equals(Field.DROPDOWN) || fieldType.equals(Field.DROPDOWN_REFRESH) || fieldType.equals(Field.TEXT) || fieldType.equals(Field.RADIO) || fieldType.equals(Field.CURRENCY) || fieldType.equals(Field.KUALIUSER) || fieldType.equals(Field.DROPDOWN_SCRIPT) || fieldType.equals(LOOKUP_READONLY) || fieldType.equals(TEXT_AREA)) {
317             return true;
318         } else {
319             return false;
320         }
321 
322     }
323 
324     /**
325      * @return the imageSrc
326      */
327     public String getImageSrc() {
328         return this.imageSrc;
329     }
330 
331     /**
332      * @param imageSrc the imageSrc to set
333      */
334     public void setImageSrc(String imageSrc) {
335         this.imageSrc = imageSrc;
336     }
337 
338 
339     /**
340      * @return the target
341      */
342     public String getTarget() {
343         return this.target;
344     }
345 
346     /**
347      * @param target the target to set
348      */
349     public void setTarget(String target) {
350         this.target = target;
351     }
352 
353     /**
354      * @return the hrefText
355      */
356     public String getHrefText() {
357         return this.hrefText;
358     }
359 
360     /**
361      * @param hrefText the hrefText to set
362      */
363     public void setHrefText(String hrefText) {
364         this.hrefText = hrefText;
365     }
366 
367     /**
368      * For container fields (i.e. fieldType.equals(CONTAINER)) with MV lookups enabled, the DD defined objectLabel of the class on which a multiple value lookup is performed.
369      * The user friendly name
370      */
371     private String multipleValueLookupClassLabel;
372     /**
373      * For container fields (i.e. fieldType.equals(CONTAINER)) with MV lookups enabled, this is the class to perform a lookup upon
374      */
375     private String multipleValueLookupClassName;
376     /**
377      * For container fields (i.e. fieldType.equals(CONTAINER)) with MV lookups enabled, this is the name of the collection on the doc on which the
378      * MV lookup is performed
379      */
380     private String multipleValueLookedUpCollectionName;
381 
382     public HtmlData getInquiryURL() {
383         return inquiryURL;
384     }
385 
386     public void setInquiryURL(HtmlData propertyURL) {
387         this.inquiryURL = propertyURL;
388     }
389 
390     public int getNumberOfColumnsForCollection() {
391         return numberOfColumnsForCollection;
392     }
393 
394     public void setNumberOfColumnsForCollection(int numberOfColumnsForCollection) {
395         this.numberOfColumnsForCollection = numberOfColumnsForCollection;
396     }
397 
398     public boolean isDatePicker() {
399         return isDatePicker;
400     }
401 
402     public void setDatePicker(boolean isDatePicker) {
403         this.isDatePicker = isDatePicker;
404     }
405 
406     public boolean isRanged() {
407         return this.ranged;
408     }
409 
410     public void setRanged(boolean ranged) {
411         this.ranged = ranged;
412     }
413 
414     public boolean isExpandedTextArea() {
415         return expandedTextArea;
416     }
417 
418     public void setExpandedTextArea(boolean expandedTextArea) {
419         this.expandedTextArea = expandedTextArea;
420     }
421 
422     /**
423      * @return Returns the defaultValue.
424      */
425     public String getDefaultValue() {
426         return defaultValue;
427     }
428 
429     /**
430      * @param defaultValue The defaultValue to set.
431      */
432     public void setDefaultValue(String defaultValue) {
433         this.defaultValue = defaultValue;
434     }
435 
436     public boolean containsBOData() {
437         if (StringUtils.isNotBlank(this.propertyName)) {
438             return true;
439         } else {
440             return false;
441         }
442     }
443 
444     /**
445      * @return Returns the CHECKBOX.
446      */
447     public String getCHECKBOX() {
448         return CHECKBOX;
449     }
450 
451     /**
452      * @return Returns the CONTAINER.
453      */
454     public String getCONTAINER() {
455         return CONTAINER;
456     }
457 
458     /**
459      * @return Returns the dROPDOWN.
460      */
461     public String getDROPDOWN() {
462         return DROPDOWN;
463     }
464 
465     /**
466      * @return Returns the TEXT_AREA.
467      */
468     public String getTEXT_AREA() {
469         return TEXT_AREA;
470     }
471 
472     /**
473      * @return Returns the DROPDOWN_REFRESH
474      */
475     public String getDROPDOWN_REFRESH() {
476         return DROPDOWN_REFRESH;
477     }
478 
479     /**
480      * @return Returns DROPDOWN_SCRIPT
481      */
482     public String getDROPDOWN_SCRIPT() {
483         return DROPDOWN_SCRIPT;
484     }
485 
486     /**
487      * @return Returns MULTISELECT
488      */
489     public String getMULTISELECT() {
490         return MULTISELECT;
491     }
492 
493     /**
494      * @return Returns KUALIUSER
495      */
496     public String getKUALIUSER() {
497         return KUALIUSER;
498     }
499 
500     /**
501      * @return Returns the FILE.
502      */
503     public String getFILE() {
504         return FILE;
505     }
506 
507     /**
508      * @return Returns SUB_SECTION_SEPARATOR
509      */
510     public String getSUB_SECTION_SEPARATOR() {
511         return SUB_SECTION_SEPARATOR;
512     }
513 
514     /**
515      * @return Returns BLANK_SPACE
516      */
517     public String getBLANK_SPACE() {
518         return BLANK_SPACE;
519     }
520 
521     /**
522      * @return the BUTTON
523      */
524     public String getBUTTON() {
525         return BUTTON;
526     }
527 
528     /**
529      * @return the LINK
530      */
531     public String getLINK() {
532         return LINK;
533     }
534 
535 
536     /**
537      * @return Returns the fieldConversions.
538      */
539     public String getFieldConversions() {
540         return fieldConversions;
541     }
542 
543 
544     public Map<String, String> getFieldConversionMap() {
545         Map<String, String> fieldConversionMap = new HashMap<String, String>();
546         if (!StringUtils.isBlank(fieldConversions)) {
547             String[] splitFieldConversions = fieldConversions.split(KRADConstants.FIELD_CONVERSIONS_SEPARATOR);
548             for (String fieldConversion : splitFieldConversions) {
549                 if (!StringUtils.isBlank(fieldConversion)) {
550                     String[] splitFieldConversion = fieldConversion.split(KRADConstants.FIELD_CONVERSION_PAIR_SEPARATOR, 2);
551                     String originalFieldName = splitFieldConversion[0];
552                     String convertedFieldName = "";
553                     if (splitFieldConversion.length > 1) {
554                         convertedFieldName = splitFieldConversion[1];
555                     }
556                     fieldConversionMap.put(originalFieldName, convertedFieldName);
557                 }
558             }
559         }
560         return fieldConversionMap;
561     }
562 
563 
564     /**
565      * @return Returns the fieldHelpUrl.
566      */
567     public String getFieldHelpUrl() {
568         return fieldHelpUrl;
569     }
570 
571     /**
572      * @return Returns the fieldLabel.
573      */
574     public String getFieldLabel() {
575         return fieldLabel;
576     }
577 
578     /**
579      * @return Returns the fieldType.
580      */
581     public String getFieldType() {
582         return fieldType;
583     }
584 
585     /**
586      * @return Returns the fieldValidValues.
587      */
588     public List<KeyValue> getFieldValidValues() {
589         return fieldValidValues;
590     }
591 
592 
593     /**
594      * @return Returns the formatter.
595      */
596     @Override
597     public Formatter getFormatter() {
598         return formatter;
599     }
600 
601     /**
602      * @return Returns the hIDDEN.
603      */
604     public String getHIDDEN() {
605         return HIDDEN;
606     }
607 
608 
609     /**
610      * @return Returns the lookupParameters.
611      */
612     public String getLookupParameters() {
613         return lookupParameters;
614     }
615 
616     /**
617      * @return Returns the maxLength.
618      */
619     public int getMaxLength() {
620         return maxLength;
621     }
622 
623     /**
624      * @return Returns the propertyName.
625      */
626     @Override
627     public String getPropertyName() {
628         return propertyName;
629     }
630 
631     /**
632      * @return Returns the propertyValue.
633      */
634     @Override
635     public String getPropertyValue() {
636         if (propertyValue == null) {
637             propertyValue = KRADConstants.EMPTY_STRING;
638         }
639 
640         return propertyValue;
641     }
642 
643 
644     /**
645      * Gets the propertyPrefix attribute.
646      *
647      * @return Returns the propertyPrefix.
648      */
649     public String getPropertyPrefix() {
650         return propertyPrefix;
651     }
652 
653     /**
654      * Sets the propertyPrefix attribute value.
655      *
656      * @param propertyPrefix The propertyPrefix to set.
657      */
658     public void setPropertyPrefix(String propertyPrefix) {
659         this.propertyPrefix = propertyPrefix;
660     }
661 
662     /**
663      * @return Returns the qUICKFINDER.
664      */
665     public String getQUICKFINDER() {
666         return QUICKFINDER;
667     }
668 
669     /**
670      * @return Returns the quickFinderClassNameImpl.
671      */
672     public String getQuickFinderClassNameImpl() {
673         return quickFinderClassNameImpl;
674     }
675 
676     /**
677      * @return Returns the rADIO.
678      */
679     public String getRADIO() {
680         return RADIO;
681     }
682 
683     /**
684      * @return Returns the size.
685      */
686     public int getSize() {
687         return size;
688     }
689 
690     /**
691      * @return Returns the TEXT.
692      */
693     public String getTEXT() {
694         return TEXT;
695     }
696 
697     public String getCURRENCY() {
698         return CURRENCY;
699     }
700 
701     /**
702      * @return Returns the iMAGE_SUBMIT.
703      */
704     public String getIMAGE_SUBMIT() {
705         return IMAGE_SUBMIT;
706     }
707 
708     /**
709      * @return Returns the LOOKUP_HIDDEN.
710      */
711     public String getLOOKUP_HIDDEN() {
712         return LOOKUP_HIDDEN;
713     }
714 
715     /**
716      * @return Returns the LOOKUP_READONLY.
717      */
718     public String getLOOKUP_READONLY() {
719         return LOOKUP_READONLY;
720     }
721 
722     /**
723      * @return Returns the WORKFLOW_WORKGROUP.
724      */
725     public String getWORKFLOW_WORKGROUP() {
726         return WORKFLOW_WORKGROUP;
727     }
728 
729 
730     /**
731      * @return Returns the clear.
732      */
733     public boolean isClear() {
734         return clear;
735     }
736 
737     /**
738      * @return Returns the dateField.
739      */
740     public boolean isDateField() {
741         return dateField;
742     }
743 
744     /**
745      * @return Returns the fieldRequired.
746      */
747     public boolean isFieldRequired() {
748         return fieldRequired;
749     }
750 
751 
752     /**
753      * @return Returns the highlightField.
754      */
755     public boolean isHighlightField() {
756         return highlightField;
757     }
758 
759     /**
760      * @return Returns the isReadOnly.
761      */
762     public boolean isReadOnly() {
763         return isReadOnly;
764     }
765 
766     /**
767      * @return Returns the upperCase.
768      */
769     public boolean isUpperCase() {
770         return upperCase;
771     }
772 
773     /**
774      * @param clear The clear to set.
775      */
776     public void setClear(boolean clear) {
777         this.clear = clear;
778     }
779 
780     /**
781      * @param dateField The dateField to set.
782      */
783     public void setDateField(boolean dateField) {
784         this.dateField = dateField;
785     }
786 
787     /**
788      * @param fieldConversionsMap The fieldConversions to set.
789      */
790     public void setFieldConversions(Map<String,String> fieldConversionsMap) {
791         List<String> keyValuePairStrings = new ArrayList<String>();
792         for (String key : fieldConversionsMap.keySet()) {
793             String mappedField = fieldConversionsMap.get(key);
794             keyValuePairStrings.add(key + ":" + mappedField) ;
795         }
796         String commaDelimitedConversions = StringUtils.join(keyValuePairStrings,",");
797         setFieldConversions(commaDelimitedConversions );
798     }
799 
800 
801     /**
802      * @param fieldConversions The fieldConversions to set.
803      */
804     public void setFieldConversions(String fieldConversions) {
805         this.fieldConversions = fieldConversions;
806     }
807 
808     public void appendFieldConversions(String fieldConversions) {
809         if (StringUtils.isNotBlank(fieldConversions)) {
810             this.fieldConversions = this.fieldConversions + "," + fieldConversions;
811         }
812     }
813 
814     /**
815      * @param fieldHelpUrl The fieldHelpUrl to set.
816      */
817     public void setFieldHelpUrl(String fieldHelpUrl) {
818         this.fieldHelpUrl = fieldHelpUrl;
819     }
820 
821     /**
822      * @param fieldLabel The fieldLabel to set.
823      */
824     public void setFieldLabel(String fieldLabel) {
825         this.fieldLabel = fieldLabel;
826     }
827 
828     /**
829      * @param fieldRequired The fieldRequired to set.
830      */
831     public void setFieldRequired(boolean fieldRequired) {
832         this.fieldRequired = fieldRequired;
833     }
834 
835     /**
836      * @param fieldType The fieldType to set.
837      */
838     public void setFieldType(String fieldType) {
839         this.fieldType = fieldType;
840     }
841 
842     /**
843      * @param fieldValidValues The fieldValidValues to set.
844      */
845     public void setFieldValidValues(List<KeyValue> fieldValidValues) {
846         this.fieldValidValues = fieldValidValues;
847     }
848 
849     public boolean getHasBlankValidValue() {
850         for (KeyValue keyLabel : fieldValidValues) {
851             if (keyLabel.getKey().equals("")) {
852                 return true;
853             }
854         }
855         return false;
856     }
857 
858     /**
859      * @param formatter The formatter to set.
860      */
861     @Override
862     public void setFormatter(Formatter formatter) {
863         this.formatter = formatter;
864     }
865 
866 
867     /**
868      * @param highlightField The highlightField to set.
869      */
870     public void setHighlightField(boolean highlightField) {
871         this.highlightField = highlightField;
872     }
873 
874     /**
875      * @param lookupParametersMap The lookupParameters to set.
876      */
877     public void setLookupParameters(Map lookupParametersMap) {
878         String lookupParameterString = "";
879         for (Iterator iter = lookupParametersMap.keySet().iterator(); iter.hasNext();) {
880             String field = (String) iter.next();
881             String mappedField = (String) lookupParametersMap.get(field);
882             lookupParameterString += field + ":" + mappedField;
883             if (iter.hasNext()) {
884                 lookupParameterString += ",";
885             }
886         }
887         setLookupParameters(lookupParameterString);
888     }
889 
890 
891     /**
892      * @param lookupParameters The lookupParameters to set.
893      */
894     public void setLookupParameters(String lookupParameters) {
895         this.lookupParameters = lookupParameters;
896     }
897 
898     /**
899      * This method appends the passed-in lookupParameters to the existing
900      *
901      * @param lookupParameters
902      */
903     public void appendLookupParameters(String lookupParameters) {
904         if (StringUtils.isNotBlank(lookupParameters)) {
905             if (StringUtils.isBlank(this.lookupParameters)) {
906                 this.lookupParameters = lookupParameters;
907             } else {
908                 this.lookupParameters = this.lookupParameters + "," + lookupParameters;
909             }
910         }
911     }
912 
913     /**
914      * @param maxLength The maxLength to set.
915      */
916     public void setMaxLength(int maxLength) {
917         this.maxLength = maxLength;
918     }
919 
920     /**
921      * @param propertyName The propertyName to set.
922      */
923     @Override
924     public void setPropertyName(String propertyName) {
925         String newPropertyName = KRADConstants.EMPTY_STRING;
926         if (propertyName != null) {
927             newPropertyName = propertyName;
928         }
929         this.propertyName = newPropertyName;
930     }
931 
932     /**
933      * @param propertyValue The propertyValue to set.
934      */
935     public void setPropertyValue(Object propertyValue) {
936         String newPropertyValue = ObjectUtils.formatPropertyValue(propertyValue);
937 
938         if (isUpperCase()) {
939             newPropertyValue = newPropertyValue.toUpperCase();
940         }
941 
942         this.propertyValue = newPropertyValue;
943     }
944 
945     /**
946      * @param quickFinderClassNameImpl The quickFinderClassNameImpl to set.
947      */
948     public void setQuickFinderClassNameImpl(String quickFinderClassNameImpl) {
949         this.quickFinderClassNameImpl = quickFinderClassNameImpl;
950     }
951 
952     /**
953      * @param isReadOnly The isReadOnly to set.
954      */
955     public void setReadOnly(boolean isReadOnly) {
956         this.isReadOnly = isReadOnly;
957     }
958 
959     /**
960      * @param size The size to set.
961      */
962     public void setSize(int size) {
963         this.size = size;
964     }
965 
966     /**
967      * @param upperCase The upperCase to set.
968      */
969     public void setUpperCase(boolean upperCase) {
970         this.upperCase = upperCase;
971     }
972 
973 
974     /**
975      * @return Returns the cols.
976      */
977     public int getCols() {
978         return cols;
979     }
980 
981 
982     /**
983      * @param cols The cols to set.
984      */
985     public void setCols(int cols) {
986         this.cols = cols;
987     }
988 
989 
990     /**
991      * @return Returns the rows.
992      */
993     public int getRows() {
994         return rows;
995     }
996 
997 
998     /**
999      * @param rows The rows to set.
1000      */
1001     public void setRows(int rows) {
1002         this.rows = rows;
1003     }
1004 
1005 
1006     /**
1007      * @return Returns the containerRows.
1008      */
1009     public List<Row> getContainerRows() {
1010         return containerRows;
1011     }
1012 
1013 
1014     /**
1015      * @param containerRows The containerRows to set.
1016      */
1017     public void setContainerRows(List<Row> containerRows) {
1018         this.containerRows = containerRows;
1019     }
1020 
1021 
1022     /**
1023      * @return Returns the businessObjectClassName.
1024      */
1025     public String getBusinessObjectClassName() {
1026         return businessObjectClassName;
1027     }
1028 
1029 
1030     /**
1031      * @param businessObjectClassName The businessObjectClassName to set.
1032      */
1033     public void setBusinessObjectClassName(String businessObjectClassName) {
1034         this.businessObjectClassName = businessObjectClassName;
1035     }
1036 
1037 
1038     /**
1039      * @return Returns the fieldHelpSummary.
1040      */
1041     public String getFieldHelpSummary() {
1042         return fieldHelpSummary;
1043     }
1044 
1045 
1046     /**
1047      * @param fieldHelpSummary The fieldHelpSummary to set.
1048      */
1049     public void setFieldHelpSummary(String fieldHelpSummary) {
1050         this.fieldHelpSummary = fieldHelpSummary;
1051     }
1052 
1053 
1054     /**
1055      * @return Returns the fieldHelpName.
1056      */
1057     public String getFieldHelpName() {
1058         return fieldHelpName;
1059     }
1060 
1061 
1062     /**
1063      * @param fieldHelpName The fieldHelpName to set.
1064      */
1065     public void setFieldHelpName(String fieldHelpName) {
1066         this.fieldHelpName = fieldHelpName;
1067     }
1068 
1069     /**
1070      * Gets the script attribute.
1071      *
1072      * @return Returns the script.
1073      */
1074     public String getScript() {
1075         return script;
1076     }
1077 
1078     /**
1079      * Sets the script attribute value.
1080      *
1081      * @param script The script to set.
1082      */
1083     public void setScript(String script) {
1084         this.script = script;
1085     }
1086 
1087     /**
1088      * Gets the personNameAttributeName attribute.
1089      *
1090      * @return Returns the personNameAttributeName.
1091      */
1092     public String getPersonNameAttributeName() {
1093         return personNameAttributeName;
1094     }
1095 
1096     /**
1097      * Sets the personNameAttributeName attribute value.
1098      *
1099      * @param personNameAttributeName The personNameAttributeName to set.
1100      */
1101     public void setPersonNameAttributeName(String personNameAttributeName) {
1102         this.personNameAttributeName = personNameAttributeName;
1103     }
1104 
1105     /**
1106      * Gets the universalIdAttributeName attribute.
1107      *
1108      * @return Returns the universalIdAttributeName.
1109      */
1110     public String getUniversalIdAttributeName() {
1111         return universalIdAttributeName;
1112     }
1113 
1114     /**
1115      * Sets the universalIdAttributeName attribute value.
1116      *
1117      * @param universalIdAttributeName The universalIdAttributeName to set.
1118      */
1119     public void setUniversalIdAttributeName(String universalIdAttributeName) {
1120         this.universalIdAttributeName = universalIdAttributeName;
1121     }
1122 
1123     /**
1124      * Gets the userIdAttributeName attribute.
1125      *
1126      * @return Returns the userIdAttributeName.
1127      */
1128     public String getUserIdAttributeName() {
1129         return userIdAttributeName;
1130     }
1131 
1132     /**
1133      * Sets the userIdAttributeName attribute value.
1134      *
1135      * @param userIdAttributeName The userIdAttributeName to set.
1136      */
1137     public void setUserIdAttributeName(String userIdAttributeName) {
1138         this.userIdAttributeName = userIdAttributeName;
1139     }
1140 
1141     /**
1142      * Gets the keyField attribute.
1143      *
1144      * @return Returns the keyField.
1145      */
1146     public boolean isKeyField() {
1147         return keyField;
1148     }
1149 
1150     /**
1151      * Sets the keyField attribute value.
1152      *
1153      * @param keyField The keyField to set.
1154      */
1155     public void setKeyField(boolean keyField) {
1156         this.keyField = keyField;
1157     }
1158 
1159 
1160     /**
1161      * Gets the displayEditMode attribute.
1162      *
1163      * @return Returns the displayEditMode.
1164      */
1165     public String getDisplayEditMode() {
1166         return displayEditMode;
1167     }
1168 
1169     /**
1170      * Sets the displayEditMode attribute value.
1171      *
1172      * @param displayEditMode The displayEditMode to set.
1173      */
1174     public void setDisplayEditMode(String displayEditMode) {
1175         this.displayEditMode = displayEditMode;
1176     }
1177 
1178     /**
1179      * Gets the displayMask attribute.
1180      *
1181      * @return Returns the displayMask.
1182      */
1183     public Mask getDisplayMask() {
1184         return displayMask;
1185     }
1186 
1187     /**
1188      * Sets the displayMask attribute value.
1189      *
1190      * @param displayMask The displayMask to set.
1191      */
1192     public void setDisplayMask(Mask displayMask) {
1193         this.displayMask = displayMask;
1194     }
1195 
1196     /**
1197      * Gets the displayMaskValue attribute.
1198      *
1199      * @return Returns the displayMaskValue.
1200      */
1201     public String getDisplayMaskValue() {
1202         return displayMaskValue;
1203     }
1204 
1205     /**
1206      * Sets the displayMaskValue attribute value.
1207      *
1208      * @param displayMaskValue The displayMaskValue to set.
1209      */
1210     public void setDisplayMaskValue(String displayMaskValue) {
1211         this.displayMaskValue = displayMaskValue;
1212     }
1213 
1214     /**
1215      * Gets the encryptedValue attribute.
1216      *
1217      * @return Returns the encryptedValue.
1218      */
1219     public String getEncryptedValue() {
1220         return encryptedValue;
1221     }
1222 
1223     /**
1224      * Sets the encryptedValue attribute value.
1225      *
1226      * @param encryptedValue The encryptedValue to set.
1227      */
1228     public void setEncryptedValue(String encryptedValue) {
1229         this.encryptedValue = encryptedValue;
1230     }
1231 
1232     /**
1233      * Gets the secure attribute.
1234      *
1235      * @return Returns the secure.
1236      */
1237     public boolean isSecure() {
1238         return secure;
1239     }
1240 
1241     /**
1242      * Sets the secure attribute value.
1243      *
1244      * @param secure The secure to set.
1245      */
1246     public void setSecure(boolean secure) {
1247         this.secure = secure;
1248     }
1249 
1250     /**
1251      * Returns the method name of a function present in the page which should be called
1252      * when the user tabs away from the field.
1253      *
1254      * @return
1255      */
1256     public String getWebOnBlurHandler() {
1257         return webOnBlurHandler;
1258     }
1259 
1260     public void setWebOnBlurHandler(String webOnBlurHandler) {
1261         this.webOnBlurHandler = webOnBlurHandler;
1262     }
1263 
1264     /**
1265      * Returns the method name of a function present in the page which should be called
1266      * after an AJAX call from the onblur handler.
1267      *
1268      * @return
1269      */
1270     public String getWebOnBlurHandlerCallback() {
1271         return webOnBlurHandlerCallback;
1272     }
1273 
1274     public void setWebOnBlurHandlerCallback(String webOnBlurHandlerCallback) {
1275         this.webOnBlurHandlerCallback = webOnBlurHandlerCallback;
1276     }
1277 
1278     /**
1279      * Sets the propertyValue attribute value.
1280      *
1281      * @param propertyValue The propertyValue to set.
1282      */
1283     @Override
1284     public void setPropertyValue(String propertyValue) {
1285         this.propertyValue = propertyValue;
1286     }
1287 
1288     @Override
1289     public String toString() {
1290         return "[" + getFieldType() + "] " + getPropertyName() + " = '" + getPropertyValue() + "'";
1291     }
1292 
1293     public String getStyleClass() {
1294         return styleClass;
1295     }
1296 
1297     public void setStyleClass(String styleClass) {
1298         this.styleClass = styleClass;
1299     }
1300 
1301     public int getFormattedMaxLength() {
1302         return formattedMaxLength;
1303     }
1304 
1305     public void setFormattedMaxLength(int formattedMaxLength) {
1306         this.formattedMaxLength = formattedMaxLength;
1307     }
1308 
1309     public String getContainerName() {
1310         return containerName;
1311     }
1312 
1313     public void setContainerName(String containerName) {
1314         this.containerName = containerName;
1315     }
1316 
1317     /**
1318      * Gets the containerElementName attribute.
1319      *
1320      * @return Returns the containerElementName.
1321      */
1322     public String getContainerElementName() {
1323         return containerElementName;
1324     }
1325 
1326     /**
1327      * Sets the containerElementName attribute value.
1328      *
1329      * @param containerElementName The containerElementName to set.
1330      */
1331     public void setContainerElementName(String containerElementName) {
1332         this.containerElementName = containerElementName;
1333     }
1334 
1335     /**
1336      * Gets the containerDisplayFields attribute.
1337      *
1338      * @return Returns the containerDisplayFields.
1339      */
1340     public List<Field> getContainerDisplayFields() {
1341         return containerDisplayFields;
1342     }
1343 
1344     /**
1345      * Sets the containerDisplayFields attribute value.
1346      *
1347      * @param containerDisplayFields The containerDisplayFields to set.
1348      */
1349     public void setContainerDisplayFields(List<Field> containerDisplayFields) {
1350         this.containerDisplayFields = containerDisplayFields;
1351     }
1352 
1353     public String getReferencesToRefresh() {
1354         return referencesToRefresh;
1355     }
1356 
1357     public void setReferencesToRefresh(String referencesToRefresh) {
1358         this.referencesToRefresh = referencesToRefresh;
1359     }
1360 
1361     /**
1362      * The DD defined objectLabel of the class on which a multiple value lookup is performed
1363      *
1364      * @return The DD defined objectLabel of the class on which a multiple value lookup is performed
1365      */
1366     public String getMultipleValueLookupClassLabel() {
1367         return multipleValueLookupClassLabel;
1368     }
1369 
1370     /**
1371      * The DD defined objectLabel of the class on which a multiple value lookup is performed
1372      *
1373      * @param multipleValueLookupClassLabel The DD defined objectLabel of the class on which a multiple value lookup is performed
1374      */
1375     public void setMultipleValueLookupClassLabel(String multipleValueLookupClassLabel) {
1376         this.multipleValueLookupClassLabel = multipleValueLookupClassLabel;
1377     }
1378 
1379     /**
1380      * For container fields (i.e. fieldType.equals(CONTAINER)) with MV lookups enabled, this is the name of the collection on the doc on which the
1381      * MV lookup is performed
1382      *
1383      * @return
1384      */
1385     public String getMultipleValueLookedUpCollectionName() {
1386         return multipleValueLookedUpCollectionName;
1387     }
1388 
1389     /**
1390      * For container fields (i.e. fieldType.equals(CONTAINER)) with MV lookups enabled, this is the name of the collection on the doc on which the
1391      * MV lookup is performed
1392      *
1393      * @param multipleValueLookedUpCollectionName
1394      *
1395      */
1396     public void setMultipleValueLookedUpCollectionName(String multipleValueLookedUpCollectionName) {
1397         this.multipleValueLookedUpCollectionName = multipleValueLookedUpCollectionName;
1398     }
1399 
1400     /**
1401      * For container fields (i.e. fieldType.equals(CONTAINER)) with MV lookups enabled, this is the class to perform a lookup upon
1402      *
1403      * @return
1404      */
1405     public String getMultipleValueLookupClassName() {
1406         return multipleValueLookupClassName;
1407     }
1408 
1409     /**
1410      * For container fields (i.e. fieldType.equals(CONTAINER)) with MV lookups enabled, this is the class to perform a lookup upon
1411      *
1412      * @param multipleValueLookupClassName
1413      */
1414     public void setMultipleValueLookupClassName(String multipleValueLookupClassName) {
1415         this.multipleValueLookupClassName = multipleValueLookupClassName;
1416     }
1417 
1418     /**
1419      * The td alignment to use for the Field.
1420      *
1421      * @return the cellAlign
1422      */
1423     public String getCellAlign() {
1424         return cellAlign;
1425     }
1426 
1427     /**
1428      * Sets the td alignment for the Field.
1429      *
1430      * @param cellAlign the cellAlign to set
1431      */
1432     public void setCellAlign(String cellAlign) {
1433         this.cellAlign = cellAlign;
1434     }
1435 
1436     public String getInquiryParameters() {
1437         return this.inquiryParameters;
1438     }
1439 
1440     public void setInquiryParameters(String inquiryParameters) {
1441         this.inquiryParameters = inquiryParameters;
1442     }
1443 
1444     /**
1445      * Returns whether field level help is enabled for this field.  If this value is true, then the field level help will be enabled.
1446      * If false, then whether a field is enabled is determined by the value returned by {@link #isFieldLevelHelpDisabled()} and the system-wide
1447      * parameter setting.  Note that if a field is read-only, that may cause field-level help to not be rendered.
1448      *
1449      * @return true if field level help is enabled, false if the value of this method should NOT be used to determine whether this method's return value
1450      *         affects the enablement of field level help
1451      */
1452     public boolean isFieldLevelHelpEnabled() {
1453         return this.fieldLevelHelpEnabled;
1454     }
1455 
1456     public void setFieldLevelHelpEnabled(boolean fieldLevelHelpEnabled) {
1457         this.fieldLevelHelpEnabled = fieldLevelHelpEnabled;
1458     }
1459 
1460     /**
1461      * Returns whether field level help is disabled for this field.  If this value is true and {@link #isFieldLevelHelpEnabled()} returns false,
1462      * then the field level help will not be rendered.  If both this and {@link #isFieldLevelHelpEnabled()} return false, then the system-wide
1463      * setting will determine whether field level help is enabled.  Note that if a field is read-only, that may cause field-level help to not be rendered.
1464      *
1465      * @return true if field level help is disabled, false if the value of this method should NOT be used to determine whether this method's return value
1466      *         affects the enablement of field level help
1467      */
1468     public boolean isFieldLevelHelpDisabled() {
1469         return this.fieldLevelHelpDisabled;
1470     }
1471 
1472     public void setFieldLevelHelpDisabled(boolean fieldLevelHelpDisabled) {
1473         this.fieldLevelHelpDisabled = fieldLevelHelpDisabled;
1474     }
1475 
1476     public boolean isFieldDirectInquiryEnabled() {
1477         return this.fieldDirectInquiryEnabled;
1478     }
1479 
1480     public void setFieldDirectInquiryEnabled(boolean fieldDirectInquiryEnabled) {
1481         this.fieldDirectInquiryEnabled = fieldDirectInquiryEnabled;
1482     }
1483 
1484     /**
1485      * @return the fieldInactiveValidValues
1486      */
1487     public List getFieldInactiveValidValues() {
1488         return this.fieldInactiveValidValues;
1489     }
1490 
1491     /**
1492      * @param fieldInactiveValidValues the fieldInactiveValidValues to set
1493      */
1494     public void setFieldInactiveValidValues(List fieldInactiveValidValues) {
1495         this.fieldInactiveValidValues = fieldInactiveValidValues;
1496     }
1497 
1498     public boolean isTriggerOnChange() {
1499         return this.triggerOnChange;
1500     }
1501 
1502     public void setTriggerOnChange(boolean triggerOnChange) {
1503         this.triggerOnChange = triggerOnChange;
1504     }
1505 
1506     public boolean getHasLookupable() {
1507         if (quickFinderClassNameImpl == null) {
1508             return false;
1509         } else {
1510             return true;
1511         }
1512     }
1513 
1514     @Override
1515     public String getAlternateDisplayPropertyName() {
1516         return this.alternateDisplayPropertyName;
1517     }
1518 
1519     @Override
1520     public void setAlternateDisplayPropertyName(String alternateDisplayPropertyName) {
1521         this.alternateDisplayPropertyName = alternateDisplayPropertyName;
1522     }
1523 
1524     public String getAlternateDisplayPropertyValue() {
1525         return this.alternateDisplayPropertyValue;
1526     }
1527 
1528     public void setAlternateDisplayPropertyValue(Object alternateDisplayPropertyValue) {
1529         String formattedValue = ObjectUtils.formatPropertyValue(alternateDisplayPropertyValue);
1530 
1531         this.alternateDisplayPropertyValue = formattedValue;
1532     }
1533 
1534     @Override
1535     public String getAdditionalDisplayPropertyName() {
1536         return this.additionalDisplayPropertyName;
1537     }
1538 
1539     @Override
1540     public void setAdditionalDisplayPropertyName(String additionalDisplayPropertyName) {
1541         this.additionalDisplayPropertyName = additionalDisplayPropertyName;
1542     }
1543 
1544     public String getAdditionalDisplayPropertyValue() {
1545         return this.additionalDisplayPropertyValue;
1546     }
1547 
1548     public void setAdditionalDisplayPropertyValue(Object additionalDisplayPropertyValue) {
1549         String formattedValue = ObjectUtils.formatPropertyValue(additionalDisplayPropertyValue);
1550 
1551         this.additionalDisplayPropertyValue = formattedValue;
1552     }
1553 
1554     //#BEGIN DOC SEARCH RELATED
1555     public boolean isIndexedForSearch() {
1556         return this.isIndexedForSearch;
1557     }
1558 
1559     public void setIndexedForSearch(boolean indexedForSearch) {
1560         this.isIndexedForSearch = indexedForSearch;
1561     }
1562 
1563     public String getMainFieldLabel() {
1564         return this.mainFieldLabel;
1565     }
1566 
1567     public Boolean getRangeFieldInclusive() {
1568         return this.rangeFieldInclusive;
1569     }
1570 
1571     public boolean isMemberOfRange() {
1572         return this.memberOfRange;
1573     }
1574 
1575     public void setMainFieldLabel(String mainFieldLabel) {
1576         this.mainFieldLabel = mainFieldLabel;
1577     }
1578 
1579     public void setRangeFieldInclusive(Boolean rangeFieldInclusive) {
1580         this.rangeFieldInclusive = rangeFieldInclusive;
1581     }
1582 
1583     public void setMemberOfRange(boolean memberOfRange) {
1584         this.memberOfRange = memberOfRange;
1585     }
1586 
1587     public boolean isInclusive() {
1588         return (rangeFieldInclusive == null) ? true : rangeFieldInclusive;
1589     }
1590 
1591     public String getFieldDataType() {
1592         return this.fieldDataType;
1593     }
1594 
1595     public void setFieldDataType(String fieldDataType) {
1596         this.fieldDataType = fieldDataType;
1597     }
1598 
1599     public boolean isColumnVisible() {
1600         return this.isColumnVisible;
1601     }
1602 
1603     public void setColumnVisible(boolean isColumnVisible) {
1604         this.isColumnVisible = isColumnVisible;
1605     }
1606 
1607     public String[] getPropertyValues() {
1608         return this.propertyValues;
1609     }
1610 
1611     public void setPropertyValues(String[] propertyValues) {
1612         this.propertyValues = propertyValues;
1613     }
1614 
1615     /**
1616      * @return the skipBlankValidValue
1617      */
1618     public boolean isSkipBlankValidValue() {
1619         return this.skipBlankValidValue;
1620     }
1621 
1622     /**
1623      * @param skipBlankValidValue the skipBlankValidValue to set
1624      */
1625     public void setSkipBlankValidValue(boolean skipBlankValidValue) {
1626         this.skipBlankValidValue = skipBlankValidValue;
1627     }
1628 
1629     /**
1630      * @return the allowInlineRange
1631      */
1632     public boolean isAllowInlineRange() {
1633         return this.allowInlineRange;
1634     }
1635 
1636     /**
1637      * @param allowInlineRange the allowInlineRange to set
1638      */
1639     public void setAllowInlineRange(boolean allowInlineRange) {
1640         this.allowInlineRange = allowInlineRange;
1641     }
1642 
1643     public String getUniversalIdValue() {
1644         return this.universalIdValue;
1645     }
1646 
1647     public void setUniversalIdValue(String universalIdValue) {
1648         this.universalIdValue = universalIdValue;
1649     }
1650 
1651     public String getPersonNameValue() {
1652         return this.personNameValue;
1653     }
1654 
1655     public void setPersonNameValue(String personNameValue) {
1656         this.personNameValue = personNameValue;
1657     }
1658 
1659     public String getBaseLookupUrl() {
1660         return this.baseLookupUrl;
1661     }
1662 
1663     public void setBaseLookupUrl(String baseLookupURL) {
1664         this.baseLookupUrl = baseLookupURL;
1665     }
1666 
1667     public String getFieldLevelHelpUrl() {
1668         return fieldLevelHelpUrl;
1669     }
1670 
1671     public void setFieldLevelHelpUrl(String fieldLevelHelpUrl) {
1672         this.fieldLevelHelpUrl = fieldLevelHelpUrl;
1673     }
1674 
1675     /**
1676      * @return the webUILeaveFieldFunctionParameters
1677      */
1678     public List<String> getWebUILeaveFieldFunctionParameters() {
1679         return this.webUILeaveFieldFunctionParameters;
1680     }
1681 
1682     /**
1683      * @param webUILeaveFieldFunctionParameters
1684      *         the webUILeaveFieldFunctionParameters to set
1685      */
1686     public void setWebUILeaveFieldFunctionParameters(
1687             List<String> webUILeaveFieldFunctionParameters) {
1688         this.webUILeaveFieldFunctionParameters = webUILeaveFieldFunctionParameters;
1689     }
1690 
1691     public String getWebUILeaveFieldFunctionParametersString() {
1692         return KRADUtils.joinWithQuotes(getWebUILeaveFieldFunctionParameters());
1693     }
1694 
1695 
1696     //#END DOC SEARCH RELATED
1697 }