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