Class InputFieldBase

All Implemented Interfaces:
Serializable, Cloneable, Copyable, DictionaryBean, UifDictionaryBean, CaseConstrainable, Constrainable, MustOccurConstrainable, PrerequisiteConstrainable, SimpleConstrainable, ValidCharactersConstrainable, Component, DataBinding, Ordered, ScriptEventSupport, DataField, Field, InputField, LifecycleElement, Helpable, org.springframework.core.Ordered
Direct Known Subclasses:
LookupInputField

public class InputFieldBase extends DataFieldBase implements InputField
Field that encapsulates data input/output captured by an attribute within the application

The InputField provides the majority of the data input/output for the screen. Through these fields the model can be displayed and updated. For data input, the field contains a Control instance will render an HTML control element(s). The input field also contains a Label, summary, and widgets such as a quickfinder (for looking up values) and inquiry (for getting more information on the value). InputField instances can have associated messages (errors) due to invalid input or business rule failures. Security can also be configured to restrict who may view the fields valnue.

Author:
Kuali Rice Team (rice.collab@kuali.org)
See Also:
  • Constructor Details

    • InputFieldBase

      public InputFieldBase()
  • Method Details

    • performInitialization

      public void performInitialization(Object model)
      The following updates are done here:
      • Invoke performInitialize on component modifiers
      Initializes the component

      Where components can set defaults and setup other necessary state. The initialize method should only be called once per component lifecycle and is invoked within the initialize phase of the view lifecylce.

      Specified by:
      performInitialization in interface LifecycleElement
      Overrides:
      performInitialization in class DataFieldBase
      Parameters:
      model - - object instance containing the view data
      See Also:
    • afterEvaluateExpression

      public void afterEvaluateExpression()
      No-op implementation. Override for custom behavior in subclasses. Invoked by the view lifecycle after expressions are evaluated at the apply model phase.

      In general, this method is preferred to LifecycleElement.performApplyModel(Object, LifecycleElement) for populating model data via code, since it is called before client-side state is synchronize.

      Specified by:
      afterEvaluateExpression in interface Component
      Overrides:
      afterEvaluateExpression in class DataFieldBase
    • performApplyModel

      public void performApplyModel(Object model, LifecycleElement parent)
      The following finalization is performed:
      • Make sure that a label is defined for any data fields. If not then create hidden label using property name.
      • If no label for a non data field then just log a warning.
      The following updates are done here:
      • Evaluate the progressive render condition (if set) and combine with the current render status to set the render status
      Called after the initialize phase to perform conditional logic based on the model data

      Where components can perform conditional logic such as dynamically generating new fields or setting field state based on the given data

      Specified by:
      performApplyModel in interface LifecycleElement
      Overrides:
      performApplyModel in class DataFieldBase
      Parameters:
      model - - Top level object containing the data (could be the form or a top level business object, dto)
      parent - parent lifecycle element
    • performFinalize

      public void performFinalize(Object model, LifecycleElement parent)
      The following finalization is performed:
      • Set the labelForComponentId to this component id
      • Set the label text on the label field from the field's label property
      • Set the render property on the label's required message field if this field is marked as required
      The following finalization is done here:
      • progressiveRender and conditionalRefresh variables are processed if set
      • If any of the style properties were given, sets the style string on the style property
      • Set the skipInTabOrder flag for nested components
      The last phase before the view is rendered

      Here final preparations can be made based on the updated view state.

      Specified by:
      performFinalize in interface LifecycleElement
      Overrides:
      performFinalize in class DataFieldBase
      Parameters:
      model - - top level object containing the data
      parent - - parent component
    • addComponentPostMetadata

      protected void addComponentPostMetadata()
      Invoked during the finalize phase to capture state of the component needs to support post operations.
    • processReadOnlyListDisplay

      protected void processReadOnlyListDisplay(Object model, List<?> originalList)
      Overrides processReadOnlyListDisplay to handle MultiValueControls by creating the list of values from values instead of the keys of the options selected (makes the list "human-readable"). Otherwise it just passes the list ahead as normal if this InputField does not use a MultiValueControl.
      Overrides:
      processReadOnlyListDisplay in class DataFieldBase
      Parameters:
      model - the model
      originalList - originalList of values
    • setAlternateAndAdditionalDisplayValue

      protected void setAlternateAndAdditionalDisplayValue(View view, Object model)
      Overriding to check quickfinder when masked is being applied. If quickfinder is configured set the component to widgetInputOnly, else set to readOnly Sets alternate and additional property value for this field.

      If AttributeSecurity present in this field, make sure the current user has permission to view the field value. If user doesn't have permission to view the value, mask the value as configured and set it as alternate value for display. If security doesn't exists for this field but alternateDisplayPropertyName present, get its value and format it based on that fields formatting and set for display.

      For additional display value, if AttributeSecurity not present, sets the value if additionalDisplayPropertyName present. If not present, check whether this field is a KualiCode and get the relationship configured in the datadictionary file and set the name additional display value which will be displayed along with the code. If additional display property not present, check whether this field is has MultiValueControlBase. If yes, get the Label for the value and set it as additional display value.

      Overrides:
      setAlternateAndAdditionalDisplayValue in class DataFieldBase
      Parameters:
      view - the current view instance
      model - model instance
    • adjustMustOccurConstraintBinding

      protected void adjustMustOccurConstraintBinding(List<MustOccurConstraint> mustOccurConstraints)
      Adjust paths on the must occur constrain bindings
      Parameters:
      mustOccurConstraints -
    • adjustPrerequisiteConstraintBinding

      protected void adjustPrerequisiteConstraintBinding(List<PrerequisiteConstraint> prerequisiteConstraints)
      Adjust paths on the prerequisite constraint bindings
      Parameters:
      prerequisiteConstraints -
    • setupFieldQuery

      protected void setupFieldQuery(View view)
      Performs setup of the field attribute query and informational display properties.

      Paths are adjusted to match the binding for the this field, and the necessary onblur script for triggering the query client side is constructed

      Parameters:
      view - view instance the input field is associated with
    • setupIds

      protected void setupIds()
      Sets the ids on all components the input field uses so they will all contain this input field's id in their ids. This is useful for jQuery manipulation.
    • copyFromAttributeDefinition

      public void copyFromAttributeDefinition(AttributeDefinition attributeDefinition)
      Defaults the properties of the DataField to the corresponding properties of its AttributeDefinition retrieved from the dictionary (if such an entry exists). If the field already contains a value for a property, the definitions value is not used.
      Specified by:
      copyFromAttributeDefinition in interface DataField
      Overrides:
      copyFromAttributeDefinition in class DataFieldBase
      Parameters:
      attributeDefinition - AttributeDefinition instance the property values should be copied from
    • isInputAllowed

      public boolean isInputAllowed()
      Indicates whether the data field instance allows input, subclasses should override and set to true if input is allowed
      Specified by:
      isInputAllowed in interface DataField
      Specified by:
      isInputAllowed in interface InputField
      Overrides:
      isInputAllowed in class DataFieldBase
      Returns:
      true if input is allowed, false if read only
      See Also:
    • getControl

      public Control getControl()
      Control instance that should be used to input data for the field

      When the field is editable, the control will be rendered so the user can input a value(s). Controls typically are part of a Form and render standard HTML control elements such as text input, select, and checkbox

      Specified by:
      getControl in interface InputField
      Returns:
      Control instance
    • setControl

      public void setControl(Control control)
      Setter for the field's control
      Specified by:
      setControl in interface InputField
      Parameters:
      control -
    • isInlineEdit

      public boolean isInlineEdit()
      When inlineEdit is enabled, the field will appear as text, and when clicked the user will be able to edit that field's value and save that new value.

      The method that is called by inlineEdit is saveField.

      Specified by:
      isInlineEdit in interface InputField
      Returns:
      inlineEdit if set to true the field will have the ability to be edited inline
    • setInlineEdit

      public void setInlineEdit(boolean inlineEdit)
      Specified by:
      setInlineEdit in interface InputField
      See Also:
    • isAjaxInlineEdit

      public boolean isAjaxInlineEdit()
      When ajaxInlineEdit is enabled, the field will appear as text, and when clicked, the input version of that field is retrieved from the server; the user will be able to edit that field's value and save that new value.
      Specified by:
      isAjaxInlineEdit in interface InputField
      Returns:
      ajaxInlneEdit if true the field will have the ability to be edited inline via ajax call
    • setAjaxInlineEdit

      public void setAjaxInlineEdit(boolean ajaxInlineEdit)
      Specified by:
      setAjaxInlineEdit in interface InputField
      See Also:
    • getValidationMessages

      @ViewLifecycleRestriction public FieldValidationMessages getValidationMessages()
      Field that contains the messages (errors) for the input field. The ValidationMessages holds configuration on associated messages along with information on rendering the messages in the user interface
      Specified by:
      getValidationMessages in interface InputField
      Returns:
      ValidationMessages instance
    • setValidationMessages

      public void setValidationMessages(FieldValidationMessages validationMessages)
      Setter for the input field's errors field
      Specified by:
      setValidationMessages in interface InputField
      Parameters:
      validationMessages -
    • getOptionsFinder

      public KeyValuesFinder getOptionsFinder()
      Instance of KeyValuesFinder that should be invoked to provide a List of values the field can have. Generally used to provide the options for a multi-value control or to validate the submitted field value
      Specified by:
      getOptionsFinder in interface InputField
      Returns:
      KeyValuesFinder instance
    • setOptionsFinder

      public void setOptionsFinder(KeyValuesFinder optionsFinder)
      Setter for the field's KeyValuesFinder instance
      Specified by:
      setOptionsFinder in interface InputField
      Parameters:
      optionsFinder -
    • getOptionsFinderClass

      public Class<? extends KeyValuesFinder> getOptionsFinderClass()
      Get the class of the optionsFinder being used by this InputField
      Specified by:
      getOptionsFinderClass in interface InputField
      Returns:
      the class of the set optionsFinder, if not set or not applicable, returns null
    • setOptionsFinderClass

      public void setOptionsFinderClass(Class<? extends KeyValuesFinder> optionsFinderClass)
      Setter that takes in the class name for the options finder and creates a new instance to use as the finder for the input field
      Specified by:
      setOptionsFinderClass in interface InputField
      Parameters:
      optionsFinderClass - the options finder class to set
    • isEnableAutoDirectInquiry

      public boolean isEnableAutoDirectInquiry()
      Indicates whether direct inquiries should be automatically set when a relationship for the field's property is found

      Note this only applies when the DataField.getInquiry() widget has not been configured (is null) and is set to true by default

      Specified by:
      isEnableAutoDirectInquiry in interface InputField
      Returns:
      true if auto direct inquiries are enabled, false if not
    • setEnableAutoDirectInquiry

      public void setEnableAutoDirectInquiry(boolean enableAutoDirectInquiry)
      Setter for enabling automatic direct inquiries
      Specified by:
      setEnableAutoDirectInquiry in interface InputField
      Parameters:
      enableAutoDirectInquiry -
    • getQuickfinder

      public QuickFinder getQuickfinder()
      Lookup finder widget for the field

      The quickfinder widget places a small icon next to the field that allows the user to bring up a search screen for finding valid field values. The Widget instance can be configured to point to a certain LookupView, or the framework will attempt to associate the field with a lookup based on its metadata (in particular its relationships in the model)

      Specified by:
      getQuickfinder in interface InputField
      Returns:
      QuickFinder lookup widget
    • setQuickfinder

      public void setQuickfinder(QuickFinder quickfinder)
      Setter for the lookup widget
      Specified by:
      setQuickfinder in interface InputField
      Parameters:
      quickfinder - the field lookup widget to set
    • isEnableAutoQuickfinder

      public boolean isEnableAutoQuickfinder()
      Indicates whether quickfinders should be automatically set when a relationship for the field's property is found

      Note this only applies when the InputField.getQuickfinder() widget has not been configured (is null) and is set to true by default

      Specified by:
      isEnableAutoQuickfinder in interface InputField
      Returns:
      true if auto quickfinders are enabled, false if not
    • setEnableAutoQuickfinder

      public void setEnableAutoQuickfinder(boolean enableAutoQuickfinder)
      Setter for enabling automatic quickfinders
      Specified by:
      setEnableAutoQuickfinder in interface InputField
      Parameters:
      enableAutoQuickfinder -
    • getSuggest

      public Suggest getSuggest()
      Suggest box widget for the input field

      If enabled (by render flag), as the user inputs data into the fields control a dynamic query is performed to provide the user suggestions on values which they can then select

      Note the Suggest widget is only valid when using a standard TextControl

      Specified by:
      getSuggest in interface InputField
      Returns:
      Suggest instance
    • setSuggest

      public void setSuggest(Suggest suggest)
      Setter for the fields suggest widget
      Specified by:
      setSuggest in interface InputField
      Parameters:
      suggest - the field suggest widget to set
    • isWidgetInputOnly

      public boolean isWidgetInputOnly()
      Indicates indicates whether the field can only be updated through a widget widgetInputOnly behaves similar to ReadOnly with the exception that the value of the input field can be changed via the associated widget (e.g. spinner, date picker, quickfinder, etc).
      Specified by:
      isWidgetInputOnly in interface InputField
      Returns:
      true if only widget input is allowed, false otherwise
    • setWidgetInputOnly

      public void setWidgetInputOnly(boolean widgetInputOnly)
      Setter for the widget input only indicator
      Specified by:
      setWidgetInputOnly in interface InputField
      Parameters:
      widgetInputOnly -
    • isRenderInputAddonGroup

      public boolean isRenderInputAddonGroup()
      Forces rendering of the input group div around the control.

      If other components add content through script that should be grouped with the control, this flag can be set to true to generate the input group, even though InputField.getPostInputAddons() may be empty

      Specified by:
      isRenderInputAddonGroup in interface InputField
      Returns:
      boolean true to force rendering of the input group, false if not
    • setRenderInputAddonGroup

      public void setRenderInputAddonGroup(boolean renderInputAddonGroup)
      Specified by:
      setRenderInputAddonGroup in interface InputField
      See Also:
    • getPostInputCssClasses

      public List<String> getPostInputCssClasses()
      List of CSS classes that will be applied to the span that wraps the post input components. TODO: revisist this, possibly getting the classes from component wrapper css classes once created
      Specified by:
      getPostInputCssClasses in interface InputField
      Returns:
      List of CSS classes
    • getPostInputCssClassesAsString

      public String getPostInputCssClassesAsString()
      Returns the list of post input css classes as a string formed by joining the classes with a space.
      Specified by:
      getPostInputCssClassesAsString in interface InputField
      Returns:
      post input css classes string
    • setPostInputCssClasses

      public void setPostInputCssClasses(List<String> postInputCssClasses)
      Specified by:
      setPostInputCssClasses in interface InputField
      See Also:
    • getPostInputAddons

      public List<Component> getPostInputAddons()
      List of components that will be grouped with the input field control to form an input group.

      Generally these are icon, link, or button components that should be rendered with the control.

      See Bootstrap Input Groups

      Specified by:
      getPostInputAddons in interface InputField
      Returns:
      List of post input components
    • setPostInputAddons

      public void setPostInputAddons(List<Component> postInputAddons)
      Specified by:
      setPostInputAddons in interface InputField
      See Also:
    • addPostInputAddon

      public void addPostInputAddon(Component addOn)
      Adds a component to the list of post input addon components.
      Specified by:
      addPostInputAddon in interface InputField
      Parameters:
      addOn - component to add
      See Also:
    • getInstructionalText

      public String getInstructionalText()
      Instructional text that display an explanation of the field usage

      Text explaining how to use the field, including things like what values should be selected in certain cases and so on (instructions)

      Specified by:
      getInstructionalText in interface InputField
      Returns:
      instructional message
    • setInstructionalText

      public void setInstructionalText(String instructionalText)
      Setter for the instructional message
      Specified by:
      setInstructionalText in interface InputField
      Parameters:
      instructionalText - the instructional text to set
    • getInstructionalMessage

      public Message getInstructionalMessage()
      Message field that displays instructional text

      This message field can be configured to for adjusting how the instructional text will display. Generally the styleClasses property will be of most interest

      Specified by:
      getInstructionalMessage in interface InputField
      Returns:
      instructional message field
    • setInstructionalMessage

      public void setInstructionalMessage(Message instructionalMessage)
      Setter for the instructional text message field

      Note this is the setter for the field that will render the instructional text. The actual text can be set on the field but can also be set using InputField.setInstructionalText(String)

      Specified by:
      setInstructionalMessage in interface InputField
      Parameters:
      instructionalMessage - the instructional message to set
    • getHelperText

      public String getHelperText()
      Help text that displays under the control and is disclosed on focus.
      Specified by:
      getHelperText in interface InputField
      Returns:
      String help text for input
    • setHelperText

      public void setHelperText(String helperText)
      Specified by:
      setHelperText in interface InputField
      See Also:
    • getConstraintText

      public String getConstraintText()
      Text that display a restriction on the value a field can hold

      For example when the value must be a valid format (phone number, email), certain length, min/max value and so on this text can be used to indicate the constraint to the user. Generally displays with the control so it is visible when the user tabs to the field

      Specified by:
      getConstraintText in interface InputField
      Returns:
      text to display for the constraint message
    • setConstraintText

      public void setConstraintText(String constraintText)
      Setter for the constraint message text
      Specified by:
      setConstraintText in interface InputField
      Parameters:
      constraintText - the constraint text to set
    • getConstraintMessage

      public Message getConstraintMessage()
      Message field that displays constraint text

      This message field can be configured to for adjusting how the constrain text will display. Generally the styleClasses property will be of most interest

      Specified by:
      getConstraintMessage in interface InputField
      Returns:
      constraint message field
    • setConstraintMessage

      public void setConstraintMessage(Message constraintMessage)
      Setter for the constraint text message field

      Note this is the setter for the field that will render the constraint text. The actual text can be set on the field but can also be set using InputField.setConstraintText(String)

      Specified by:
      setConstraintMessage in interface InputField
      Parameters:
      constraintMessage - the constrain message field to set
    • getValidCharactersConstraint

      public ValidCharactersConstraint getValidCharactersConstraint()
      Specified by:
      getValidCharactersConstraint in interface ValidCharactersConstrainable
    • setValidCharactersConstraint

      public void setValidCharactersConstraint(ValidCharactersConstraint validCharactersConstraint)
      Setter for validCharacterConstraint
      Specified by:
      setValidCharactersConstraint in interface InputField
      Parameters:
      validCharactersConstraint - the ValidCharactersConstraint to set
    • getCaseConstraint

      public CaseConstraint getCaseConstraint()
      Specified by:
      getCaseConstraint in interface CaseConstrainable
    • setCaseConstraint

      public void setCaseConstraint(CaseConstraint caseConstraint)
      Setter for caseConstraint
      Specified by:
      setCaseConstraint in interface InputField
      Parameters:
      caseConstraint - the CaseConstraint to set
    • getDependencyConstraints

      public List<PrerequisiteConstraint> getDependencyConstraints()
      List of PrerequisiteConstraint that apply to this InputField
      Specified by:
      getDependencyConstraints in interface InputField
      Returns:
      the dependency constraints for this input field
    • setDependencyConstraints

      public void setDependencyConstraints(List<PrerequisiteConstraint> dependencyConstraints)
      Setter for dependencyConstraints
      Specified by:
      setDependencyConstraints in interface InputField
      Parameters:
      dependencyConstraints - list of PrerequisiteConstraint to set
    • getPrerequisiteConstraints

      public List<PrerequisiteConstraint> getPrerequisiteConstraints()
      Specified by:
      getPrerequisiteConstraints in interface PrerequisiteConstrainable
    • getMustOccurConstraints

      public List<MustOccurConstraint> getMustOccurConstraints()
      Specified by:
      getMustOccurConstraints in interface MustOccurConstrainable
    • setMustOccurConstraints

      public void setMustOccurConstraints(List<MustOccurConstraint> mustOccurConstraints)
      Setter for mustOccurConstraints
      Specified by:
      setMustOccurConstraints in interface InputField
      Parameters:
      mustOccurConstraints - list of MustOccurConstraint to set
    • getSimpleConstraint

      public SimpleConstraint getSimpleConstraint()
      Specified by:
      getSimpleConstraint in interface SimpleConstrainable
    • setSimpleConstraint

      public void setSimpleConstraint(SimpleConstraint simpleConstraint)
      Setter for simple constraint

      When a simple constraint is set on this object ALL simple validation constraints set directly will be overridden - recommended to use this or the other gets/sets for defining simple constraints, not both.

      Specified by:
      setSimpleConstraint in interface InputField
      Parameters:
      simpleConstraint - the simple constraint to set
    • getDataType

      public DataType getDataType()
      Gets the DataType of this InputField, note that DataType set to be date when this field is using a date picker with a TextControl and has not otherwise been explicitly set.
      Specified by:
      getDataType in interface InputField
      Returns:
      DataType
    • setDataType

      public void setDataType(DataType dataType)
      This does not have to be set, represents the DataType constraint of this field. This is only checked during server side validation.
      Specified by:
      setDataType in interface InputField
      Parameters:
      dataType - the dataType to set
    • setDataType

      public void setDataType(String dataType)
      Specified by:
      setDataType in interface InputField
    • getMaxLength

      public Integer getMaxLength()
      Maximum number of characters the input field value is allowed to have

      The maximum length determines the maximum allowable length of the value for data entry editing purposes. The maximum length is inclusive and can be smaller or longer than the actual control size. The constraint is enforced on all data types (e.g. a numeric data type needs to meet the maximum length constraint in which digits and symbols are counted).

      Specified by:
      getMaxLength in interface InputField
      Returns:
      the maximum length of the input field
    • setMaxLength

      public void setMaxLength(Integer maxLength)
      Setter for input field max length
      Specified by:
      setMaxLength in interface InputField
      Parameters:
      maxLength - the maximum length to set
    • getMinLength

      public Integer getMinLength()
      Minimum number of characters the input field value needs to be

      The minimum length determines the minimum required length of the value for data entry editing purposes. The minimum length is inclusive. The constraint is enforced on all data types (e.g. a numeric data type needs to meet the minimum length requirement in which digits and symbols are counted).

      Specified by:
      getMinLength in interface InputField
      Returns:
      the minimum length of the input field
    • setMinLength

      public void setMinLength(Integer minLength)
      Setter for input field minimum length
      Specified by:
      setMinLength in interface InputField
      Parameters:
      minLength - the minLength to set
    • getRequired

      public Boolean getRequired()
      Indicates whether the component is required

      At the general component level required means there is some action the user needs to take within the component. For example, within a section it might mean the fields within the section should be completed. At a field level, it means the field should be completed. This provides the ability for the renderers to indicate the required action.

      Specified by:
      getRequired in interface Component
      Specified by:
      getRequired in interface InputField
      Overrides:
      getRequired in class ComponentBase
      Returns:
      boolean true if the component is required, false if it is not required
      See Also:
    • setRequired

      public void setRequired(Boolean required)
      Setter for the required indicator
      Specified by:
      setRequired in interface Component
      Specified by:
      setRequired in interface InputField
      Overrides:
      setRequired in class ComponentBase
      Parameters:
      required -
      See Also:
    • getExclusiveMin

      public String getExclusiveMin()
      The exclusive minimum value for numeric or date field.

      The exclusiveMin element determines the minimum allowable value for data entry editing purposes. This constrain is supported for numeric and date fields and to be used in conjunction with the appropriate ValidCharactersConstraint. For numeric constraint the value can be an integer or decimal such as -.001 or 99.

      Specified by:
      getExclusiveMin in interface InputField
      Returns:
      the exclusive minimum numeric value of the input field
    • setExclusiveMin

      public void setExclusiveMin(String exclusiveMin)
      Setter for the field's exclusive minimum value
      Specified by:
      setExclusiveMin in interface InputField
      Parameters:
      exclusiveMin - the minimum value to set
    • getInclusiveMax

      public String getInclusiveMax()
      The inclusive maximum value for numeric or date field.

      The inclusiveMax element determines the maximum allowable value for data entry editing purposes. This constrain is supported for numeric and date fields and to be used in conjunction with the appropriate ValidCharactersConstraint. For numeric constraint the value can be an integer or decimal such as -.001 or 99.

      Specified by:
      getInclusiveMax in interface InputField
      Returns:
      the inclusive maximum numeric value of the input field
    • setInclusiveMax

      public void setInclusiveMax(String inclusiveMax)
      Setter for the field's inclusive maximum value
      Specified by:
      setInclusiveMax in interface InputField
      Parameters:
      inclusiveMax - the maximum value to set
    • getAttributeQuery

      public AttributeQuery getAttributeQuery()
      Attribute query instance configured for this field to dynamically pull information back for updates other fields or providing messages

      If field attribute query is not null, associated event script will be generated to trigger the query from the UI. This will invoke the AttributeQueryService to execute the query and return an instance of AttributeQueryResult that is then read by the script to update the UI. Typically used to update informational property values or other field values

      Specified by:
      getAttributeQuery in interface InputField
      Returns:
      AttributeQuery instance
    • setAttributeQuery

      public void setAttributeQuery(AttributeQuery attributeQuery)
      Setter for this field's attribute query
      Specified by:
      setAttributeQuery in interface InputField
      Parameters:
      attributeQuery -
    • isUppercaseValue

      public boolean isUppercaseValue()
      Perform uppercase flag for this field to force input to uppercase.

      It this flag is set to true the 'text-transform' style on the field will be set to 'uppercase' which will automatically change any text input into the field to uppercase.

      Specified by:
      isUppercaseValue in interface InputField
      Returns:
      performUppercase flag
    • setUppercaseValue

      public void setUppercaseValue(boolean uppercaseValue)
      Setter for this field's performUppercase flag
      Specified by:
      setUppercaseValue in interface InputField
      Parameters:
      uppercaseValue - boolean flag
    • isDisableNativeAutocomplete

      public boolean isDisableNativeAutocomplete()
      Indicates whether the browser autocomplete functionality should be disabled for the input field (adds autocomplete="off")

      The browser's native autocomplete functionality can cause issues with security fields and also fields with the UIF suggest widget enabled

      Specified by:
      isDisableNativeAutocomplete in interface InputField
      Returns:
      true if the native autocomplete should be turned off for the input field, false if not
    • setDisableNativeAutocomplete

      public void setDisableNativeAutocomplete(boolean disableNativeAutocomplete)
      Setter to disable browser autocomplete for the input field
      Specified by:
      setDisableNativeAutocomplete in interface InputField
      Parameters:
      disableNativeAutocomplete -
    • isRenderFieldset

      public boolean isRenderFieldset()
      Specified by:
      isRenderFieldset in interface DataField
      Specified by:
      isRenderFieldset in interface InputField
      Overrides:
      isRenderFieldset in class DataFieldBase
    • completeValidation

      public void completeValidation(ValidationTrace tracer)
      Validates different requirements of component compiling a series of reports detailing information on errors found in the component. Used by the RiceDictionaryValidator.
      Specified by:
      completeValidation in interface Component
      Specified by:
      completeValidation in interface DataField
      Specified by:
      completeValidation in interface InputField
      Overrides:
      completeValidation in class DataFieldBase
      Parameters:
      tracer - Record of component's location
      See Also:
    • hasAutoQuickfinderRelationship

      protected boolean hasAutoQuickfinderRelationship()
      Determines wheter or not to create an automatic quickfinder widget for this field within the current lifecycle.
      Returns:
      True if an automatic quickfinder widget should be created for this field on the current lifecycle.