org.apache.wicket.ajax.attributes
Class AjaxRequestAttributes

java.lang.Object
  extended by org.apache.wicket.ajax.attributes.AjaxRequestAttributes

public final class AjaxRequestAttributes
extends Object

Attributes of an Ajax Request.

Author:
Matej Knopp

Nested Class Summary
static class AjaxRequestAttributes.Method
          The method to be used when submitting a form
 
Field Summary
static String XML_DATA_TYPE
           
 
Constructor Summary
AjaxRequestAttributes()
           
 
Method Summary
 List<IAjaxCallListener> getAjaxCallListeners()
           
 AjaxChannel getChannel()
           
 String getDataType()
          Returns the type of the data in the Ajax response.
 List<CharSequence> getDynamicExtraParameters()
          Array of JavaScript functions that produce additional URL arguments.
 String[] getEventNames()
           
 Map<String,Object> getExtraParameters()
          Map that contains additional (static) URL parameters.
 String getFormId()
           
 AjaxRequestAttributes.Method getMethod()
          Returns the type of the Ajax request: GET or POST.
 Duration getRequestTimeout()
          Returns the timeout in milliseconds for the AJAX request.
 String getSubmittingComponentName()
           
 ThrottlingSettings getThrottlingSettings()
           
 boolean isAllowDefault()
          Only applies for event behaviors.
 boolean isAsynchronous()
           
 boolean isMultipart()
          Returns whether the form submit is multipart.
 boolean isWicketAjaxResponse()
           
 AjaxRequestAttributes setAllowDefault(boolean allowDefault)
          Only applies for event behaviors.
 AjaxRequestAttributes setAsynchronous(boolean async)
           
 AjaxRequestAttributes setChannel(AjaxChannel channel)
           
 AjaxRequestAttributes setDataType(String dataType)
           
 AjaxRequestAttributes setEventNames(String... eventNames)
           
 AjaxRequestAttributes setFormId(String formId)
           
 AjaxRequestAttributes setMethod(AjaxRequestAttributes.Method method)
          Sets the type of the Ajax request: GET or POST.
 AjaxRequestAttributes setMultipart(boolean multipart)
          Determines whether the form submit is multipart.
 AjaxRequestAttributes setRequestTimeout(Duration requestTimeout)
          Sets the timeout in milliseconds for the AJAX request.
 AjaxRequestAttributes setSubmittingComponentName(String submittingComponentName)
           
 AjaxRequestAttributes setThrottlingSettings(ThrottlingSettings throttlingSettings)
           
 AjaxRequestAttributes setWicketAjaxResponse(boolean wicketAjaxResponse)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XML_DATA_TYPE

public static final String XML_DATA_TYPE
See Also:
Constant Field Values
Constructor Detail

AjaxRequestAttributes

public AjaxRequestAttributes()
Method Detail

isMultipart

public boolean isMultipart()
Returns whether the form submit is multipart.

Note that for multipart AJAX requests a hidden IFRAME will be used and that can have negative impact on error detection.

Returns:
true if the form submit should be multipart, false otherwise

setMultipart

public AjaxRequestAttributes setMultipart(boolean multipart)
Determines whether the form submit is multipart.

Note that for multipart AJAX requests a hidden IFRAME will be used and that can have negative impact on error detection.

Parameters:
multipart -
Returns:
this object

getMethod

public AjaxRequestAttributes.Method getMethod()
Returns the type of the Ajax request: GET or POST.

For a POSTrequest all URL arguments are submitted as body. This can be useful if the URL parameters are longer than maximal URL length.

Returns:
the type of the Ajax request. Default: AjaxRequestAttributes.Method.GET

setMethod

public AjaxRequestAttributes setMethod(AjaxRequestAttributes.Method method)
Sets the type of the Ajax request: GET or POST.

For a POSTrequest all URL arguments are submitted as body. This can be useful if the URL parameters are longer than maximal URL length.

Parameters:
method - the type of the Ajax request
Returns:
this object for chaining

getRequestTimeout

public Duration getRequestTimeout()
Returns the timeout in milliseconds for the AJAX request. This only involves the actual communication and not the processing afterwards. Can be null in which case the default request timeout will be used.

Returns:
request timeout or null for default timeout. Default: no timeout.

setRequestTimeout

public AjaxRequestAttributes setRequestTimeout(Duration requestTimeout)
Sets the timeout in milliseconds for the AJAX request. This only involves the actual communication and not the processing afterwards. Can be null in which case the default request timeout will be used.

Parameters:
requestTimeout -
Returns:
this object

getAjaxCallListeners

public List<IAjaxCallListener> getAjaxCallListeners()
Returns:
a list of IAjaxCallListeners which will be notified during the the execution of the Ajax call.

getExtraParameters

public Map<String,Object> getExtraParameters()
Map that contains additional (static) URL parameters. These will be appended to the request URL. If you need more than one value for a key then use a java.util.List or an Object[] as a value of that key.

Returns:
a map with additional URL arguments
See Also:
getDynamicExtraParameters()

getDynamicExtraParameters

public List<CharSequence> getDynamicExtraParameters()
Array of JavaScript functions that produce additional URL arguments.

If there are no multivalued parameters then the function can return a simple JavaScript object. Example:

  return {
      'param1': document.body.tagName,
      'param2': calculateParam2()
  }
 

If there are multivalued parameters then an array of objects may be used. Example:

  return [
      { name: 'param1', value: document.body.tagName },
      { name: 'param1', value: calculateSecondValueForParam1() },
      { name: 'param2', value: calculateParam2() }
  ]

 

Returns:
a list of functions that produce additional URL arguments.
See Also:
getExtraParameters()

isAllowDefault

public boolean isAllowDefault()
Only applies for event behaviors. Returns whether the behavior should allow the default event handler to be invoked. For example if the behavior is attached to a link and isAllowDefault() returns false (which is default value), the link's URL will not be followed. If the Ajax behavior is attached to a checkbox or a radio button then the default behavior should be allowed to actually check the box or radio button, i.e. this method should return true.

Returns:
true if the default event handler should be invoked, false otherwise.

setAllowDefault

public AjaxRequestAttributes setAllowDefault(boolean allowDefault)
Only applies for event behaviors. Determines whether the behavior should allow the default event handler to be invoked.

Parameters:
allowDefault -
Returns:
this object for chaining
See Also:
isAllowDefault(), isAllowDefault()

setAsynchronous

public AjaxRequestAttributes setAsynchronous(boolean async)
Parameters:
async - a flag whether to do asynchronous Ajax call or not
Returns:
this object for chaining

isAsynchronous

public boolean isAsynchronous()
Returns:
whether to do asynchronous Ajax call

getChannel

public AjaxChannel getChannel()
Returns:
the channel to use

setChannel

public AjaxRequestAttributes setChannel(AjaxChannel channel)
Parameters:
channel - the Ajax channel to use. Pass null to use the default channel with name 0 and queueing type.
Returns:
this object for chaining

getEventNames

public String[] getEventNames()
Returns:
the name(s) of the event(s) which will trigger the Ajax call

setEventNames

public AjaxRequestAttributes setEventNames(String... eventNames)
Parameters:
eventNames - the names of the events which will trigger the Ajax call
Returns:
this object for chaining

getFormId

public String getFormId()
Returns:
the id of the for that should be submitted

setFormId

public AjaxRequestAttributes setFormId(String formId)
Parameters:
formId - the id of the for that should be submitted
Returns:
this object for chaining

getSubmittingComponentName

public String getSubmittingComponentName()
Returns:
the input name of the button/link that submits the form

setSubmittingComponentName

public AjaxRequestAttributes setSubmittingComponentName(String submittingComponentName)
Parameters:
submittingComponentName - the input name of the button/link that submits the form
Returns:
this object for chaining

isWicketAjaxResponse

public boolean isWicketAjaxResponse()
Returns:
a flag indicating whether the Ajax response should be processed by Wicket (i.e. to replace components, execute scripts, etc.). Default: true.

setWicketAjaxResponse

public AjaxRequestAttributes setWicketAjaxResponse(boolean wicketAjaxResponse)
Parameters:
wicketAjaxResponse - a flag indicating whether the Ajax response should be processed by Wicket (i.e. to replace components, execute scripts, etc.).
Returns:
this object for chaining

getDataType

public String getDataType()
Returns the type of the data in the Ajax response. For example: 'xml', 'json', 'html', etc. See the documentation of jQuery.ajax() method for more information.

Returns:
the type of the data in the Ajax response.

setDataType

public AjaxRequestAttributes setDataType(String dataType)
Parameters:
dataType - the type of the data in the Ajax response.
Returns:
this object for chaining

getThrottlingSettings

public ThrottlingSettings getThrottlingSettings()
Returns:
the settings to use when throttling is needed.

setThrottlingSettings

public AjaxRequestAttributes setThrottlingSettings(ThrottlingSettings throttlingSettings)
Parameters:
throttlingSettings - the settings to use when throttling is needed. Pass null to disable throttling.
Returns:
this object for chaining


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