org.richfaces.ui.input.autocomplete

## Class AbstractAutocomplete

- java.lang.Object
- - javax.faces.component.UIComponent
  - - javax.faces.component.UIComponentBase
    - - javax.faces.component.UIOutput
      - - javax.faces.component.UIInput
        - - org.richfaces.ui.input.autocomplete.AbstractAutocomplete

- All Implemented Interfaces:
    EventListener, javax.faces.component.EditableValueHolder, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.component.TransientStateHolder, javax.faces.component.ValueHolder, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListenerHolder, AjaxEventsProps, EventsKeyProps, EventsMouseProps, FocusProps, StyleClassProps, StyleProps, MetaComponentEncoder, MetaComponentResolver
  Direct Known Subclasses:
    UIAutocomplete

      public abstract class AbstractAutocomplete
      extends javax.faces.component.UIInput
      implements AjaxEventsProps, FocusProps, EventsKeyProps, EventsMouseProps, StyleProps, StyleClassProps, MetaComponentResolver, MetaComponentEncoder

  The <r:autocomplete> component is an auto-completing input-box with built-in Ajax capabilities. It supports client-side suggestions, browser-like selection, and customization of the look and feel.

  Author:
    Lukas Fryc

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `COMPONENT_FAMILY`
    `static String` | `COMPONENT_TYPE`

    - ### Fields inherited from class javax.faces.component.UIInput

      `CONVERSION_MESSAGE_ID, REQUIRED_MESSAGE_ID, UPDATE_MESSAGE_ID, VALIDATE_EMPTY_FIELDS_PARAM_NAME`

    - ### Fields inherited from class javax.faces.component.UIComponent

      `ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY`

    - ### Fields inherited from interface org.richfaces.ui.common.meta.MetaComponentResolver

      `META_COMPONENT_SEPARATOR_CHAR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractAutocomplete()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `encodeMetaComponent(javax.faces.context.FacesContext context, String metaComponentId)` Delegates rendering of meta components to Autocomplete renderer
    `abstract Object` | `getAutocompleteList()` A collection of suggestions that will be resented to the user
    `abstract javax.el.MethodExpression` | `getAutocompleteMethod()` A method which returns a list of suggestions according to a supplied prefix
    `abstract String` | `getClientFilterFunction()` A javascript function used to filter the result list returned from the ajax call to the server.
    `abstract Object` | `getFetchValue()` A value to set in the target input element on a choice suggestion that isn't shown in the suggestion table.
    `String` | `getLayout()` Returns 'table' if all children are columns and thus the component should be rendered as a table; it returns 'list' otherwise
    `abstract int` | `getMinChars()` Minimal number of chars in input to activate suggestion popup
    `abstract AutocompleteMode` | `getMode()` Determine how the suggestion list is requested:
    `abstract String` | `getOnchange()` Javascript code triggered when the field is blurred, if the value has changed.
    `abstract String` | `getOnclose()` Javascript code triggered when the menu is hidden.
    `abstract String` | `getOnerror()` The client-side script method to be called when an error has occurred during Ajax communications
    `abstract String` | `getOnfocus()` Javascript code triggered when focus is moved to an item (not selecting).
    `abstract String` | `getOnopen()` Javascript code triggered when the suggestion menu is opened or updated.
    `abstract String` | `getOnresponse()` Javascript code triggered after a search completes, before the menu is shown.
    `abstract String` | `getOnsearch()` Javascript code triggered before a search is performed, after minLength and delay are met.
    `abstract String` | `getOnselect()` Javascript code triggered when an item is selected from the menu.
    `abstract String` | `getOnselectitem()` Deprecated. use `getOnselect()` ('select' event instead)
    `abstract String` | `getTokens()` Allow a user to enter multiple values separated by specific characters.
    `abstract String` | `getVar()` A request-scope attribute via which the data object for the current row will be used when iterating
    `abstract boolean` | `isAutofill()` Causes the combo-box to fill the text field box with a matching suggestion as the user types
    `abstract boolean` | `isDisabled()` Boolean value indicating whether this component is disabled
    `abstract boolean` | `isSelectFirst()` Boolean value indicating whether the first suggestion item is selected as the user types
    `abstract boolean` | `isShowButton()` Boolean value indicating whether to display a button to expand the popup suggestion element
    `String` | `resolveClientId(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent contextComponent, String metaComponentId)` Resolves and returns string identifying supported meta-component or `null` if provided meta-component name is not a supported one.
    `abstract void` | `setAutocompleteMethod(javax.el.MethodExpression expression)`
    `void` | `setLayout(String layout)` Deprecated.
    `String` | `substituteUnresolvedClientId(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent contextComponent, String metaComponentId)` Provides replacement for unresolved meta-component names.
    `boolean` | `visitTree(javax.faces.component.visit.VisitContext context, javax.faces.component.visit.VisitCallback callback)` Makes sure that the rendering of meta component is requested.

    - ### Methods inherited from class javax.faces.component.UIInput

      `addValidator, addValueChangeListener, clearInitialState, compareValues, decode, getConvertedValue, getConverterMessage, getFamily, getRequiredMessage, getSubmittedValue, getValidator, getValidatorMessage, getValidators, getValue, getValueChangeListener, getValueChangeListeners, isEmpty, isImmediate, isLocalValueSet, isRequired, isValid, markInitialState, processDecodes, processUpdates, processValidators, removeValidator, removeValueChangeListener, resetValue, restoreState, saveState, setConverterMessage, setImmediate, setLocalValueSet, setRequired, setRequiredMessage, setSubmittedValue, setValid, setValidator, setValidatorMessage, setValue, setValueChangeListener, updateModel, validate, validateValue`

    - ### Methods inherited from class javax.faces.component.UIOutput

      `getConverter, getLocalValue, setConverter`

    - ### Methods inherited from class javax.faces.component.UIComponentBase

      `addClientBehavior, addFacesListener, broadcast, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent`

    - ### Methods inherited from class javax.faces.component.UIComponent

      `encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.richfaces.ui.attribute.AjaxEventsProps

      `getOnbeforedomupdate, getOnbegin, getOncomplete`

    - ### Methods inherited from interface org.richfaces.ui.attribute.FocusProps

      `getOnblur, getTabindex`

    - ### Methods inherited from interface org.richfaces.ui.attribute.EventsKeyProps

      `getOnkeydown, getOnkeypress, getOnkeyup`

    - ### Methods inherited from interface org.richfaces.ui.attribute.EventsMouseProps

      `getOnclick, getOndblclick, getOnmousedown, getOnmousemove, getOnmouseout, getOnmouseover, getOnmouseup`

    - ### Methods inherited from interface org.richfaces.ui.attribute.StyleProps

      `getStyle`

    - ### Methods inherited from interface org.richfaces.ui.attribute.StyleClassProps

      `getStyleClass`

    - ### Methods inherited from interface javax.faces.component.ValueHolder

      `getConverter, getLocalValue, setConverter`

- - ### Field Detail

    - #### COMPONENT_TYPE

          public static final String COMPONENT_TYPE

      See Also:
        Constant Field Values

    - #### COMPONENT_FAMILY

          public static final String COMPONENT_FAMILY

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### AbstractAutocomplete

          public AbstractAutocomplete()

  - ### Method Detail

    - #### getAutocompleteList

          public abstract Object getAutocompleteList()

      A collection of suggestions that will be resented to the user

    - #### getAutocompleteMethod

          public abstract javax.el.MethodExpression getAutocompleteMethod()

      A method which returns a list of suggestions according to a supplied prefix

    - #### setAutocompleteMethod

          public abstract void setAutocompleteMethod(javax.el.MethodExpression expression)

    - #### getVar

          public abstract String getVar()

      A request-scope attribute via which the data object for the current row will be used when iterating

    - #### getFetchValue

          public abstract Object getFetchValue()

      A value to set in the target input element on a choice suggestion that isn't shown in the suggestion table. It can be used for descriptive output comments or suggestions. If not set, all text in the suggestion row is set as a value

    - #### getMinChars

          public abstract int getMinChars()

      Minimal number of chars in input to activate suggestion popup

    - #### getMode

          public abstract AutocompleteMode getMode()

      Determine how the suggestion list is requested:

      client
        pre-loads data to the client and uses the input to filter the possible suggestions
      ajax
        fetches suggestions with every input change using Ajax requests
      cachedAjax
        pre-loads data via Ajax requests when the input length matches a minimum value. Set the minimum value with the minChars attribute. All suggestions are handled on the client until the input prefix is changed, at which point a new request is made based on the new input prefix

      Default: cachedAjax

    - #### getTokens

          public abstract String getTokens()

      Allow a user to enter multiple values separated by specific characters. As the user types, a suggestion will present as normal. When they enter the specified token character, this begins a new suggestion process, and the component will then only use text entered after the token character for suggestions.

      Make sure that no character defined in tokens is part of any suggestion value. E.g. do not use space as a token if you expect to allow spaces in suggestion values.

      When tokens defined, they can be naturally separated by space character - input separated by tokens ', ' or ' ,' will be considered as it would be ',' token without any space.

    - #### isAutofill

          public abstract boolean isAutofill()

      Causes the combo-box to fill the text field box with a matching suggestion as the user types

    - #### isDisabled

          public abstract boolean isDisabled()

      Boolean value indicating whether this component is disabled

      Default: false

    - #### isShowButton

          public abstract boolean isShowButton()

      Boolean value indicating whether to display a button to expand the popup suggestion element

      Default: false

    - #### isSelectFirst

          public abstract boolean isSelectFirst()

      Boolean value indicating whether the first suggestion item is selected as the user types

      Default: true

    - #### getClientFilterFunction

          public abstract String getClientFilterFunction()

      A javascript function used to filter the result list returned from the ajax call to the server. This function should have two parameters; subString(current input value considering tokens) and value (currently iterated item value) and return boolean flag which means if the value satisfies the substring passed. The function will be called for every available suggestion in order to construct a new list of suggestions.

      Default: A javascript method called startsWith

    - #### getOnselect

          public abstract String getOnselect()

      Javascript code triggered when an item is selected from the menu. The default action is to replace the text field's value with the value of the selected item. Canceling this event prevents the value from being updated, but does not prevent the menu from closing.

    - #### getOnselectitem

          @Deprecated
          public abstract String getOnselectitem()

      Deprecated. use `getOnselect()` ('select' event instead)

    - #### getOnchange

          public abstract String getOnchange()

      Javascript code triggered when the field is blurred, if the value has changed.

    - #### getOnclose

          public abstract String getOnclose()

      Javascript code triggered when the menu is hidden. Not every close event will be accompanied by a change event.

    - #### getOnfocus

          public abstract String getOnfocus()

      Javascript code triggered when focus is moved to an item (not selecting). The default action is to replace the text field's value with the value of the focused item, though only if the event was triggered by a keyboard interaction. Canceling this event prevents the value from being updated, but does not prevent the menu item from being focused.
      Specified by:
        `getOnfocus` in interface `FocusProps`

    - #### getOnopen

          public abstract String getOnopen()

      Javascript code triggered when the suggestion menu is opened or updated.

    - #### getOnresponse

          public abstract String getOnresponse()

      Javascript code triggered after a search completes, before the menu is shown. Useful for local manipulation of suggestion data, where a custom source option callback is not required. This event is always triggered when a search completes, even if the menu will not be shown because there are no results or the Autocomplete is disabled.

    - #### getOnsearch

          public abstract String getOnsearch()

      Javascript code triggered before a search is performed, after minLength and delay are met. If canceled, then no request will be started and no items suggested.

    - #### getOnerror

          public abstract String getOnerror()

      The client-side script method to be called when an error has occurred during Ajax communications

    - #### resolveClientId

          public String resolveClientId(javax.faces.context.FacesContext facesContext,
                               javax.faces.component.UIComponent contextComponent,
                               String metaComponentId)

      Description copied from interface: `MetaComponentResolver`
      Resolves and returns string identifying supported meta-component or `null` if provided meta-component name is not a supported one.
      Specified by:
        `resolveClientId` in interface `MetaComponentResolver`
      Parameters:
        `facesContext` - - current instance of `FacesContext`
        `contextComponent` - - instance of `UIComponent` that requested resolution of meta-component
        `metaComponentId` - - name of meta-component (without leading '@' sign)
      Returns:
        clientId, one of supported meta-names such as @all, @this, etc. or `null`

    - #### substituteUnresolvedClientId

          public String substituteUnresolvedClientId(javax.faces.context.FacesContext facesContext,
                                            javax.faces.component.UIComponent contextComponent,
                                            String metaComponentId)

      Description copied from interface: `MetaComponentResolver`
      Provides replacement for unresolved meta-component names. Returns identifier string for the chosen substitution or `null`
      Specified by:
        `substituteUnresolvedClientId` in interface `MetaComponentResolver`
      Parameters:
        `facesContext` - - current instance of `FacesContext`
        `contextComponent` - - instance of `UIComponent` that requested resolution of meta-component
        `metaComponentId` - - name of meta-component (without leading '@' sign)
      Returns:
        clientId, one of supported meta-names such as @all, @this, etc. or `null`

    - #### visitTree

          public boolean visitTree(javax.faces.component.visit.VisitContext context,
                          javax.faces.component.visit.VisitCallback callback)

      Makes sure that the rendering of meta component is requested.
      Overrides:
        `visitTree` in class `javax.faces.component.UIComponent`

    - #### encodeMetaComponent

          public void encodeMetaComponent(javax.faces.context.FacesContext context,
                                 String metaComponentId)
                                   throws IOException

      Delegates rendering of meta components to Autocomplete renderer
      Specified by:
        `encodeMetaComponent` in interface `MetaComponentEncoder`
      Throws:
        `IOException`

    - #### getLayout

          public String getLayout()

      Returns 'table' if all children are columns and thus the component should be rendered as a table; it returns 'list' otherwise

    - #### setLayout

          @Deprecated
          public void setLayout(String layout)

      Deprecated.
      `setLayout(String)` was deprecated in 5.0 The layout is determined by components provide as children of the autocomplete component

Copyright © 2014 JBoss by Red Hat. All rights reserved.