org.apache.wicket.extensions.ajax.markup.html.autocomplete
Class AutoCompleteTextField<T>

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
                  extended by org.apache.wicket.markup.html.form.FormComponent<T>
                      extended by org.apache.wicket.markup.html.form.AbstractTextComponent<T>
                          extended by org.apache.wicket.markup.html.form.TextField<T>
                              extended by org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField<T>
Type Parameters:
T - The model object type
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<Component>, IEventSink, IEventSource, IClusterable, IConverterLocator, IFormModelUpdateListener, IFormVisitorParticipant, ILabelProvider<java.lang.String>, IHeaderContributor, IRequestableComponent, IHierarchical<Component>
Direct Known Subclasses:
DefaultCssAutoCompleteTextField

public abstract class AutoCompleteTextField<T>
extends TextField<T>

An implementation of a textfield with the autoassist ajax behavior AutoCompleteBehavior. FIXME javadoc - constructors need proper descriptions Note that you must add your own CSS to make the suggestion display properly, see DefaultCssAutoCompleteTextField for an example.

Since:
1.2
Author:
Igor Vaynberg (ivaynberg)
See Also:
DefaultCssAutoCompleteTextField, AutoCompleteBehavior, IAutoCompleteRenderer, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.markup.html.form.AbstractTextComponent
AbstractTextComponent.ITextFormatProvider
 
Field Summary
 
Fields inherited from class org.apache.wicket.markup.html.form.FormComponent
FLAG_CONVERT_EMPTY_INPUT_STRING_TO_NULL, VALUE_SEPARATOR
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
AutoCompleteTextField(java.lang.String id)
           
AutoCompleteTextField(java.lang.String id, AutoCompleteSettings settings)
          Construct.
AutoCompleteTextField(java.lang.String id, boolean preselect)
          Deprecated. use the constructor AutoCompleteTextField AutoCompleteTextField(String, AutoCompleteSettings)
AutoCompleteTextField(java.lang.String id, java.lang.Class<T> type)
           
AutoCompleteTextField(java.lang.String id, java.lang.Class<T> type, IAutoCompleteRenderer<T> renderer)
           
AutoCompleteTextField(java.lang.String id, IAutoCompleteRenderer<T> renderer)
           
AutoCompleteTextField(java.lang.String id, IModel<T> object)
           
AutoCompleteTextField(java.lang.String id, IModel<T> object, AutoCompleteSettings settings)
          Construct.
AutoCompleteTextField(java.lang.String id, IModel<T> object, boolean preselect)
          Deprecated. use the constructor AutoCompleteTextField AutoCompleteTextField(String, IModel, AutoCompleteSettings)
AutoCompleteTextField(java.lang.String id, IModel<T> model, java.lang.Class<T> type, AutoCompleteSettings settings)
          Construct.
AutoCompleteTextField(java.lang.String id, IModel<T> model, java.lang.Class<T> type, boolean preselect)
          Deprecated. use the constructor AutoCompleteTextField AutoCompleteTextField(String, IModel, Class, AutoCompleteSettings)
AutoCompleteTextField(java.lang.String id, IModel<T> model, java.lang.Class<T> type, IAutoCompleteRenderer<T> renderer, AutoCompleteSettings settings)
          Construct.
AutoCompleteTextField(java.lang.String id, IModel<T> model, java.lang.Class<T> type, IAutoCompleteRenderer<T> renderer, boolean preselect)
          Deprecated. use the constructor AutoCompleteTextField AutoCompleteTextField(String, IModel, Class, IAutoCompleteRenderer, AutoCompleteSettings)
AutoCompleteTextField(java.lang.String id, IModel<T> model, IAutoCompleteRenderer<T> renderer)
           
 
Method Summary
protected abstract  java.util.Iterator<T> getChoices(java.lang.String input)
          Callback method that should return an iterator over all possible assist choice objects.
protected  AutoCompleteBehavior<T> newAutoCompleteBehavior(IAutoCompleteRenderer<T> renderer, AutoCompleteSettings settings)
          Factory method for autocomplete behavior that will be added to this textfield
protected  void onBeforeRender()
          If the type is not set try to guess it if the model supports it.
protected  void onComponentTag(ComponentTag tag)
          Processes the component tag.
 
Methods inherited from class org.apache.wicket.markup.html.form.TextField
getInputType
 
Methods inherited from class org.apache.wicket.markup.html.form.AbstractTextComponent
convertInput, getConvertEmptyInputStringToNull, isInputNullable, setConvertEmptyInputStringToNull
 
Methods inherited from class org.apache.wicket.markup.html.form.FormComponent
add, add, checkRequired, clearInput, convertValue, error, getConvertedInput, getDefaultLabel, getDefaultLabel, getForm, getInput, getInputAsArray, getInputName, getModel, getModelObject, getModelValue, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputChanged, internalOnModelChanged, invalid, isMultiPart, isRequired, isValid, newValidatable, onDetach, onDisabled, onInvalid, onValid, processChildren, processInput, remove, setConvertedInput, setLabel, setModel, setModelObject, setModelValue, setRequired, setType, shouldTrimInput, trim, updateCollectionModel, updateModel, valid, validate, validateRequired, validateValidators, visitComponentsPostOrder, visitFormComponentsPostOrder
 
Methods inherited from class org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
getLabel, setLabelInternal
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, hasAssociatedMarkup, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onMarkupAttached, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onConfigure, onEvent, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             java.lang.Class<T> type)
Parameters:
id -
type -

AutoCompleteTextField

@Deprecated
public AutoCompleteTextField(java.lang.String id,
                                        IModel<T> model,
                                        java.lang.Class<T> type,
                                        boolean preselect)
Deprecated. use the constructor AutoCompleteTextField AutoCompleteTextField(String, IModel, Class, AutoCompleteSettings)

Parameters:
id -
model -
type -
preselect - the first item

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             IModel<T> model,
                             java.lang.Class<T> type,
                             AutoCompleteSettings settings)
Construct.

Parameters:
id -
model -
type -
settings -

AutoCompleteTextField

@Deprecated
public AutoCompleteTextField(java.lang.String id,
                                        IModel<T> object,
                                        boolean preselect)
Deprecated. use the constructor AutoCompleteTextField AutoCompleteTextField(String, IModel, AutoCompleteSettings)

Parameters:
id -
object -
preselect -

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             IModel<T> object,
                             AutoCompleteSettings settings)
Construct.

Parameters:
id -
object -
settings -

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             IModel<T> object)
Parameters:
id -
object -

AutoCompleteTextField

@Deprecated
public AutoCompleteTextField(java.lang.String id,
                                        boolean preselect)
Deprecated. use the constructor AutoCompleteTextField AutoCompleteTextField(String, AutoCompleteSettings)

Parameters:
id -
preselect -

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             AutoCompleteSettings settings)
Construct.

Parameters:
id -
settings -

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id)
Parameters:
id -

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             IAutoCompleteRenderer<T> renderer)
Parameters:
id -
renderer -

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             java.lang.Class<T> type,
                             IAutoCompleteRenderer<T> renderer)
Parameters:
id -
type -
renderer -

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             IModel<T> model,
                             IAutoCompleteRenderer<T> renderer)
Parameters:
id -
model -
renderer -

AutoCompleteTextField

@Deprecated
public AutoCompleteTextField(java.lang.String id,
                                        IModel<T> model,
                                        java.lang.Class<T> type,
                                        IAutoCompleteRenderer<T> renderer,
                                        boolean preselect)
Deprecated. use the constructor AutoCompleteTextField AutoCompleteTextField(String, IModel, Class, IAutoCompleteRenderer, AutoCompleteSettings)

Parameters:
id -
model -
type -
renderer -
preselect -

AutoCompleteTextField

public AutoCompleteTextField(java.lang.String id,
                             IModel<T> model,
                             java.lang.Class<T> type,
                             IAutoCompleteRenderer<T> renderer,
                             AutoCompleteSettings settings)
Construct.

Parameters:
id -
model -
type -
renderer -
settings -
Method Detail

newAutoCompleteBehavior

protected AutoCompleteBehavior<T> newAutoCompleteBehavior(IAutoCompleteRenderer<T> renderer,
                                                          AutoCompleteSettings settings)
Factory method for autocomplete behavior that will be added to this textfield

Parameters:
renderer - auto complete renderer
settings - auto complete settings
Returns:
auto complete behavior

onBeforeRender

protected void onBeforeRender()
If the type is not set try to guess it if the model supports it.

Overrides:
onBeforeRender in class AbstractTextComponent<T>
See Also:
Component.onBeforeRender()

onComponentTag

protected void onComponentTag(ComponentTag tag)
Description copied from class: TextField
Processes the component tag.

Overrides:
onComponentTag in class TextField<T>
Parameters:
tag - Tag to modify
See Also:
Component.onComponentTag(ComponentTag)

getChoices

protected abstract java.util.Iterator<T> getChoices(java.lang.String input)
Callback method that should return an iterator over all possible assist choice objects. These objects will be passed to the renderer to generate output. Usually it is enough to return an iterator over strings.

Parameters:
input - current input
Returns:
iterator over all possible choice objects
See Also:
AutoCompleteBehavior.getChoices(String)


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.