org.apache.wicket.ajax.form
Class AjaxFormComponentUpdatingBehavior

java.lang.Object
  extended by org.apache.wicket.behavior.AbstractBehavior
      extended by org.apache.wicket.behavior.AbstractAjaxBehavior
          extended by org.apache.wicket.ajax.AbstractDefaultAjaxBehavior
              extended by org.apache.wicket.ajax.AjaxEventBehavior
                  extended by org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior
All Implemented Interfaces:
java.io.Serializable, IBehavior, IBehaviorListener, IClusterable, IRequestListener, IHeaderContributor
Direct Known Subclasses:
OnChangeAjaxBehavior

public abstract class AjaxFormComponentUpdatingBehavior
extends AjaxEventBehavior

A behavior that updates the hosting FormComponent via ajax when an event it is attached to is triggered. This behavior encapsulates the entire form-processing workflow as relevant only to this component so if validation is successful the component's model will be updated according to the submitted value.

NOTE: This behavior does not support persisting form component values into cookie or other IValuePersister. If this is necessary please add a request for enhancement.

NOTE: This behavior does not validate any IFormValidators attached to this form even though they may reference the component being updated.

NOTE: This behavior does not work on Choices or Groups use the AjaxFormChoiceComponentUpdatingBehavior for that.

Since:
1.2
Author:
Igor Vaynberg (ivaynberg)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.wicket.ajax.AbstractDefaultAjaxBehavior
INDICATOR
 
Fields inherited from interface org.apache.wicket.behavior.IBehaviorListener
INTERFACE
 
Constructor Summary
AjaxFormComponentUpdatingBehavior(java.lang.String event)
          Construct.
 
Method Summary
protected  boolean disableFocusOnBlur()
          Determines whether the focus will not be restored when the event is blur.
protected  java.lang.CharSequence getEventHandler()
           
protected  FormComponent getFormComponent()
           
protected  boolean getUpdateModel()
           
protected  void onBind()
          Subclasses should call super.onBind()
protected  void onCheckEvent(java.lang.String event)
           
protected  void onError(AjaxRequestTarget target, java.lang.RuntimeException e)
          Called to handle any error resulting from updating form component.
protected  void onEvent(AjaxRequestTarget target)
          Listener method for the ajax event
protected abstract  void onUpdate(AjaxRequestTarget target)
          Listener invoked on the ajax request.
 
Methods inherited from class org.apache.wicket.ajax.AjaxEventBehavior
generateCallbackScript, getEvent, onComponentTag, respond, setThrottleDelay
 
Methods inherited from class org.apache.wicket.ajax.AbstractDefaultAjaxBehavior
findIndicatorId, getAjaxCallDecorator, getCallbackScript, getCallbackScript, getChannelName, getFailureScript, getPreconditionScript, getSuccessScript, onRequest, renderHead, throttleScript
 
Methods inherited from class org.apache.wicket.behavior.AbstractAjaxBehavior
bind, getCallbackUrl, getCallbackUrl, getComponent, getImplementationId, getStatelessHint, onComponentRendered, onComponentTag, onRendered, onRenderHeadContribution, onRenderHeadInitContribution
 
Methods inherited from class org.apache.wicket.behavior.AbstractBehavior
afterRender, beforeRender, cleanup, detach, detachModel, exception, isEnabled, isTemporary, onException, rendered
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AjaxFormComponentUpdatingBehavior

public AjaxFormComponentUpdatingBehavior(java.lang.String event)
Construct.

Parameters:
event - event to trigger this behavior
Method Detail

onBind

protected void onBind()
Description copied from class: AbstractDefaultAjaxBehavior
Subclasses should call super.onBind()

Overrides:
onBind in class AbstractDefaultAjaxBehavior
See Also:
AbstractAjaxBehavior.onBind()

getFormComponent

protected final FormComponent getFormComponent()
Returns:
FormComponent

getEventHandler

protected final java.lang.CharSequence getEventHandler()
Overrides:
getEventHandler in class AjaxEventBehavior
Returns:
event handler
See Also:
AjaxEventBehavior.getEventHandler()

onCheckEvent

protected void onCheckEvent(java.lang.String event)
Overrides:
onCheckEvent in class AjaxEventBehavior
See Also:
AjaxEventBehavior.onCheckEvent(java.lang.String)

onEvent

protected final void onEvent(AjaxRequestTarget target)
Description copied from class: AjaxEventBehavior
Listener method for the ajax event

Specified by:
onEvent in class AjaxEventBehavior
See Also:
AjaxEventBehavior.onEvent(org.apache.wicket.ajax.AjaxRequestTarget)

getUpdateModel

protected boolean getUpdateModel()
Returns:
true if the model of form component should be updated, false otherwise

disableFocusOnBlur

protected boolean disableFocusOnBlur()
Determines whether the focus will not be restored when the event is blur. By default this is true, as we don't want to re-focus component on blur event.

Returns:

onUpdate

protected abstract void onUpdate(AjaxRequestTarget target)
Listener invoked on the ajax request. This listener is invoked after the component's model has been updated.

Parameters:
target -

onError

protected void onError(AjaxRequestTarget target,
                       java.lang.RuntimeException e)
Called to handle any error resulting from updating form component. Errors thrown from onUpdate(AjaxRequestTarget) will not be caught here. The RuntimeException will be null if it was just a validation or conversion error of the FormComponent

Parameters:
target -
e -


Copyright © 2004-2010 Apache Software Foundation. All Rights Reserved.