org.odlabs.wiquery.core.ajax
Class JQueryAjaxOption

java.lang.Object
  extended by org.odlabs.wiquery.core.ajax.JQueryAjaxOption
All Implemented Interfaces:
Serializable, org.apache.wicket.IClusterable, org.apache.wicket.model.IDetachable, org.apache.wicket.model.IModel<JQueryAjaxOption>, IComplexOption

public class JQueryAjaxOption
extends Object
implements IComplexOption, org.apache.wicket.model.IModel<JQueryAjaxOption>

$Id: JQueryAjaxOptions

Bean storing jQuery Ajax options

Since:
1.0
Author:
Julien Roche
See Also:
Serialized Form

Nested Class Summary
static class JQueryAjaxOption.AjaxType
          Enumeration of Ajax type
 
Constructor Summary
JQueryAjaxOption()
           
 
Method Summary
 void detach()
           
 String getContentType()
           
 String getData()
           
 String getDataType()
           
 CharSequence getJavascriptOption()
          Method retrieving the javascript representation of this complex option
 String getJsonp()
           
 JQueryAjaxOption getObject()
           
protected  Options getOptions()
          Method retrieving the options
 String getPassword()
           
 String getScriptCharset()
           
 int getTimeout()
           
 JQueryAjaxOption.AjaxType getType()
           
 String getUrl()
           
 String getUsername()
           
 boolean isAsync()
           
 boolean isCache()
           
 boolean isGlobal()
           
 boolean isIfModified()
           
 boolean isProcessData()
           
 JQueryAjaxOption setAsync(boolean async)
          By default, all requests are sent asynchronous (i.e.
 JQueryAjaxOption setBeforeSendEvent(JsScope beforeSend)
          A pre-callback to modify the XMLHttpRequest object before it is sent.
 JQueryAjaxOption setCache(boolean cache)
          Set to false it will force the pages that you request to not be cached by the browser.
 JQueryAjaxOption setCompleteEvent(JsScope complete)
          A function to be called when the request finishes (after success and error callbacks are executed).
 JQueryAjaxOption setContentType(String contentType)
          When sending data to the server, use this content-type.
 JQueryAjaxOption setData(String data)
          Data to be sent to the server.
 JQueryAjaxOption setDataFilterEvent(JsScope dataFilter)
          A function to be used to handle the raw responsed data of XMLHttpRequest.
 JQueryAjaxOption setDataType(String dataType)
          The type of data that you're expecting back from the server.
 JQueryAjaxOption setErrorEvent(JsScope error)
          A function to be called if the request fails.
 JQueryAjaxOption setGlobal(boolean global)
          Whether to trigger global AJAX event handlers for this request.
 JQueryAjaxOption setIfModified(boolean ifModified)
          Allow the request to be successful only if the response has changed since the last request.
 JQueryAjaxOption setJsonp(String jsonp)
          Override the callback function name in a jsonp request.
 void setObject(JQueryAjaxOption object)
           
 JQueryAjaxOption setPassword(String password)
          A password to be used in response to an HTTP access authentication request.
 JQueryAjaxOption setProcessData(boolean processData)
          By default, data passed in to the data option as an object (technically, anything other than a string) will be processed and transformed into a query string, fitting to the default content-type "application/x-www-form-urlencoded".
 JQueryAjaxOption setScriptCharset(String scriptCharset)
          Only for requests with 'jsonp' or 'script' dataType and GET type.
 JQueryAjaxOption setSuccessEvent(JsScope success)
          A function to be called if the request succeeds.
 JQueryAjaxOption setTimeout(int timeout)
          Set a local timeout (in milliseconds) for the request.
 JQueryAjaxOption setType(JQueryAjaxOption.AjaxType type)
          The type of request to make ("POST" or "GET"), default is "GET".
 JQueryAjaxOption setUrl(String url)
          The URL to request.
 JQueryAjaxOption setUsername(String username)
          A username to be used in response to an HTTP access authentication request.
 JQueryAjaxOption setXhrEvent(JsScope xhr)
          Callback for creating the XMLHttpRequest object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JQueryAjaxOption

public JQueryAjaxOption()
Method Detail

getJavascriptOption

public CharSequence getJavascriptOption()
Description copied from interface: IComplexOption
Method retrieving the javascript representation of this complex option

Specified by:
getJavascriptOption in interface IComplexOption
Returns:
the javascript

getOptions

protected Options getOptions()
Method retrieving the options

Returns:
the options

setAsync

public JQueryAjaxOption setAsync(boolean async)
By default, all requests are sent asynchronous (i.e. this is set to true by default). If you need synchronous requests, set this option to false. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.

Parameters:
async -

isAsync

public boolean isAsync()
Returns:
the async option value

setCache

public JQueryAjaxOption setCache(boolean cache)
Set to false it will force the pages that you request to not be cached by the browser.

Parameters:
cache -

isCache

public boolean isCache()
Returns:
the cache option value

setContentType

public JQueryAjaxOption setContentType(String contentType)
When sending data to the server, use this content-type. Default is "application/x-www-form-urlencoded", which is fine for most cases.

Parameters:
contentType -

getContentType

public String getContentType()
Returns:
the contentType option value

setData

public JQueryAjaxOption setData(String data)
Data to be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests. See processData option to prevent this automatic processing. Object must be Key/Value pairs. If value is an Array, jQuery serializes multiple values with same key i.e. {foo:["bar1", "bar2"]} becomes '&foo=bar1&foo=bar2'.

Parameters:
contentType -

getData

public String getData()
Returns:
the contentType option value

setDataType

public JQueryAjaxOption setDataType(String dataType)
The type of data that you're expecting back from the server. If none is specified, jQuery will intelligently pass either responseXML or responseText to your success callback, based on the MIME type of the response. The available types (and the result passed as the first argument to your success callback) are:

Parameters:
dataType -

getDataType

public String getDataType()
Returns:
the dataType option value

setGlobal

public JQueryAjaxOption setGlobal(boolean global)
Whether to trigger global AJAX event handlers for this request. The default is true. Set to false to prevent the global handlers like ajaxStart or ajaxStop from being triggered. This can be used to control various Ajax Events.

Parameters:
global -

isGlobal

public boolean isGlobal()
Returns:
the global option value

setIfModified

public JQueryAjaxOption setIfModified(boolean ifModified)
Allow the request to be successful only if the response has changed since the last request. This is done by checking the Last-Modified header. Default value is false, ignoring the header.

Parameters:
ifModified -

isIfModified

public boolean isIfModified()
Returns:
the ifModified option value

setJsonp

public JQueryAjaxOption setJsonp(String jsonp)
Override the callback function name in a jsonp request. This value will be used instead of 'callback' in the 'callback=?' part of the query string in the url for a GET or the data for a POST. So {jsonp:'onJsonPLoad'} would result in 'onJsonPLoad=?' passed to the server.

Parameters:
jsonp -

getJsonp

public String getJsonp()
Returns:
the jsonp option value

setPassword

public JQueryAjaxOption setPassword(String password)
A password to be used in response to an HTTP access authentication request.

Parameters:
password -

getPassword

public String getPassword()
Returns:
the password option value

setProcessData

public JQueryAjaxOption setProcessData(boolean processData)
By default, data passed in to the data option as an object (technically, anything other than a string) will be processed and transformed into a query string, fitting to the default content-type "application/x-www-form-urlencoded". If you want to send DOMDocuments, or other non-processed data, set this option to false.

Parameters:
processData -

isProcessData

public boolean isProcessData()
Returns:
the processData option value

setScriptCharset

public JQueryAjaxOption setScriptCharset(String scriptCharset)
Only for requests with 'jsonp' or 'script' dataType and GET type. Forces the request to be interpreted as a certain charset. Only needed for charset differences between the remote and local content.

Parameters:
scriptCharset -

getScriptCharset

public String getScriptCharset()
Returns:
the scriptCharset option value

setTimeout

public JQueryAjaxOption setTimeout(int timeout)
Set a local timeout (in milliseconds) for the request. This will override the global timeout, if one is set via $.ajaxSetup. For example, you could use this property to give a single request a longer timeout than all other requests that you've set to time out in one second. See $.ajaxSetup() for global timeouts.

Parameters:
timeout -

getTimeout

public int getTimeout()
Returns:
the timeout option value

setType

public JQueryAjaxOption setType(JQueryAjaxOption.AjaxType type)
The type of request to make ("POST" or "GET"), default is "GET". Note: Other HTTP request methods, such as PUT and DELETE, can also be used here, but they are not supported by all browsers.

Parameters:
type -

getType

public JQueryAjaxOption.AjaxType getType()
Returns:
the type option value

setUrl

public JQueryAjaxOption setUrl(String url)
The URL to request. This *must* be a string (e.g., document.location.href) and not a Location object (e.g., document.location)

Parameters:
url -

getUrl

public String getUrl()
Returns:
the url option value

setUsername

public JQueryAjaxOption setUsername(String username)
A username to be used in response to an HTTP access authentication request.

Parameters:
username -

getUsername

public String getUsername()
Returns:
the username option value

setBeforeSendEvent

public JQueryAjaxOption setBeforeSendEvent(JsScope beforeSend)
A pre-callback to modify the XMLHttpRequest object before it is sent. Use this to set custom headers etc. The XMLHttpRequest is passed as the only argument. This is an Ajax Event. You may return false in function to cancel the request.

Parameters:
beforeSend -

setCompleteEvent

public JQueryAjaxOption setCompleteEvent(JsScope complete)
A function to be called when the request finishes (after success and error callbacks are executed). The function gets passed two arguments: The XMLHttpRequest object and a string describing the type of success of the request

Parameters:
complete -

setDataFilterEvent

public JQueryAjaxOption setDataFilterEvent(JsScope dataFilter)
A function to be used to handle the raw responsed data of XMLHttpRequest. This is a pre-filtering function to sanitize the response.You should return the sanitized data.The function gets passed two arguments: The raw data returned from the server, and the 'dataType' parameter.

Parameters:
dataFilter -

setErrorEvent

public JQueryAjaxOption setErrorEvent(JsScope error)
A function to be called if the request fails. The function is passed three arguments: The XMLHttpRequest object, a string describing the type of error that occurred and an optional exception object, if one occurred. Possible values for the second argument (besides null) are "timeout", "error", "notmodified" and "parsererror"

Parameters:
error -

setSuccessEvent

public JQueryAjaxOption setSuccessEvent(JsScope success)
A function to be called if the request succeeds. The function gets passed two arguments: The data returned from the server, formatted according to the 'dataType' parameter, and a string describing the status. This is an Ajax Event.

Parameters:
success -

setXhrEvent

public JQueryAjaxOption setXhrEvent(JsScope xhr)
Callback for creating the XMLHttpRequest object. Defaults to the ActiveXObject when available (IE), the XMLHttpRequest otherwise. Override to provide your own implementation for XMLHttpRequest or enhancements to the factory.It's not available in jQuery 1.2.6 and in any early version.

Parameters:
xhr -

getObject

public JQueryAjaxOption getObject()
Specified by:
getObject in interface org.apache.wicket.model.IModel<JQueryAjaxOption>

setObject

public void setObject(JQueryAjaxOption object)
Specified by:
setObject in interface org.apache.wicket.model.IModel<JQueryAjaxOption>

detach

public void detach()
Specified by:
detach in interface org.apache.wicket.model.IDetachable


Copyright © 2012. All Rights Reserved.