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