public class RPCRequest extends DataClass
RPCManager.sendRequest
method. If you use the RPCManager.send
method, an instance of RPCRequest will be created for you.Constructor and Description |
---|
RPCRequest() |
RPCRequest(com.google.gwt.core.client.JavaScriptObject jsObj) |
Modifier and Type | Method and Description |
---|---|
static void |
create()
RPCRequest shouldn't be created directly.
|
java.lang.String |
getActionURL()
Overrides RPCManager.actionURL for this request only.
|
java.lang.Boolean |
getAllowIE9Leak()
Advanced flag to avoid a potential memory leak in Internet Explorer 9 for requests with JSON formatted responses.
|
java.lang.Boolean |
getBypassCache()
For xmlHttp transport + httpMethod: "GET" only, set to true to force a conditional GET request even if the browser
thinks it has a current cached response.
|
java.lang.String |
getCallbackParam()
For use only with the
scriptInclude transport, this attribute
specifies the name of the URL parameter which is used to specify the callback function that
the server is expected to call by writing out JavaScript code. |
java.lang.Boolean |
getContainsCredentials()
For use during
Relogin , this property marks this request an attempt to login,
therefore a response containing the loginRequiredMarker is a normal condition and should result in the
status code STATUS_LOGIN_INCORRECT rather than a call
to loginRequired() . |
java.lang.String |
getContentType()
Valid with the xmlHttpRequest transport only and only when
httpMethod is set to "POST". |
com.google.gwt.core.client.JavaScriptObject |
getData()
Returns the payload of this request to be sent to the server, as a JavaScriptObject.
|
java.lang.String |
getDataAsString() |
java.lang.Boolean |
getDownloadResult()
If enabled, causes the RPCRequest to download the requested resource as a file, either showing the browser's Save
dialog or displaying the file-content in
a new browser
window . |
java.lang.Boolean |
getDownloadToNewWindow()
When
downloadResult is true, setting this attribute to true
causes the content of the downloaded file to be displayed in a new browser window. |
java.lang.Boolean |
getEvalResult()
This works similarly to
serverOutputAsString except
the resulting String
is automatically evaluated as JavaScript. |
java.util.Map |
getHttpHeaders()
HTTP headers to send, as a mapping Header name -> Header value, eg
{ "Content-Type" : "text/xml" }
|
java.lang.String |
getHttpMethod()
Selects the HTTP method that will be used for the request.
|
java.lang.Boolean |
getIgnoreTimeout()
When set to true, no reply is expected from the server.
|
java.lang.Boolean |
getOmitNullMapValuesInResponse()
If enabled, the server omits any key/value pairs in map that have null values from the response.
|
static RPCRequest |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
java.lang.String |
getPrompt()
Overrides RPCManager.defaultPrompt for this request only.
|
java.lang.String |
getPromptCursor()
Controls the cursor shown when
promptStyle is set to
"cursor" for this request only. |
int |
getPromptDelay()
Overrides RPCManager.promptDelay for this request only.
|
PromptStyle |
getPromptStyle()
Controls the prompt style for this request only.
|
java.lang.Boolean |
getSendNoQueue()
When set to true, this request is sent to the server immediately, bypassing any current queue.
|
java.lang.Boolean |
getServerOutputAsString()
Setting this flag makes the body of the HTTP response available as a String in the
callback as data . |
java.lang.Boolean |
getShowPrompt()
Overrides
RPCManager.showPrompt for this request only. |
java.lang.Boolean |
getSuppressAutoDraw()
If
evalResult is set, setting this property to true causes
autoDraw to be set to false for the duration of the result
evaluation - which is generally what you want if you're returning new components from the server. |
int |
getTimeout()
Overrides RPCManager.defaultTimeout for this request only.
|
RPCTransport |
getTransport()
Selects the transport used for this RPCRequest.
|
java.lang.Boolean |
getUseHttpProxy()
Indicates whether this request should use the HttpProxyServlet in order to enable contacting hosts other than the origin
server (available only in Pro Edition or better).
|
java.lang.Boolean |
getUseSimpleHttp()
When set to true, assume the request is not going to the Smart GWT server, and hence send a simple HTTP request that
does not use Smart GWT-specific request encoding.
|
java.lang.Boolean |
getWillHandleError()
With willHandleError:false, rpcResponses that indicate an error go through centralized handling in the RPCManager and
rpcRequest.callback is never invoked.
|
void |
setActionURL(java.lang.String actionURL)
Overrides RPCManager.actionURL for this request only.
|
void |
setAllowIE9Leak(java.lang.Boolean allowIE9Leak)
Advanced flag to avoid a potential memory leak in Internet Explorer 9 for requests with JSON formatted responses.
|
void |
setBypassCache(java.lang.Boolean bypassCache)
For xmlHttp transport + httpMethod: "GET" only, set to true to force a conditional GET request even if the browser
thinks it has a current cached response.
|
void |
setCallbackParam(java.lang.String callbackParam)
For use only with the
scriptInclude transport, this attribute
specifies the name of the URL parameter which is used to specify the callback function that
the server is expected to call by writing out JavaScript code. |
void |
setContainsCredentials(java.lang.Boolean containsCredentials)
For use during
Relogin , this property marks this request an attempt to login,
therefore a response containing the loginRequiredMarker is a normal condition and should result in the
status code STATUS_LOGIN_INCORRECT rather than a call
to loginRequired() . |
void |
setContentType(java.lang.String contentType)
Valid with the xmlHttpRequest transport only and only when
httpMethod is set to "POST". |
void |
setData(com.google.gwt.core.client.JavaScriptObject data)
This attribute specifies the payload of the RPCRequest.
|
void |
setData(java.util.Map data)
This attribute specifies the payload of the RPCRequest.
|
void |
setData(Record data)
This attribute specifies the payload of the RPCRequest.
|
void |
setData(java.lang.String data)
This attribute specifies the payload of the RPCRequest.
|
void |
setDownloadResult(java.lang.Boolean downloadResult)
If enabled, causes the RPCRequest to download the requested resource as a file, either showing the browser's Save
dialog or displaying the file-content in
a new browser
window . |
void |
setDownloadToNewWindow(java.lang.Boolean downloadToNewWindow)
When
downloadResult is true, setting this attribute to true
causes the content of the downloaded file to be displayed in a new browser window. |
void |
setEvalResult(java.lang.Boolean evalResult)
This works similarly to
serverOutputAsString except
the resulting String
is automatically evaluated as JavaScript. |
void |
setEvalVars(java.util.Map evalVars)
If you've set
setEvalResult(Boolean) : true, then the property values of this object will
be available in the evaluation scope of the result under the variable names specified by the property names. |
void |
setHttpHeaders(java.util.Map httpHeaders)
HTTP headers to send, as a mapping Header name -> Header value, eg
{ "Content-Type" : "text/xml" }
|
void |
setHttpMethod(java.lang.String httpMethod)
Selects the HTTP method that will be used for the request.
|
void |
setIgnoreTimeout(java.lang.Boolean ignoreTimeout)
When set to true, no reply is expected from the server.
|
void |
setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj) |
void |
setOmitNullMapValuesInResponse(java.lang.Boolean omitNullMapValuesInResponse)
If enabled, the server omits any key/value pairs in map that have null values from the response.
|
void |
setParams(java.util.Map params)
Values to be sent as simple HTTP params, as a JavaScript Object where each property/value pair will become an
HTTP parameter name and value.
|
void |
setPrompt(java.lang.String prompt)
Overrides RPCManager.defaultPrompt for this request only.
|
void |
setPromptCursor(java.lang.String promptCursor)
Controls the cursor shown when
promptStyle is set to
"cursor" for this request only. |
void |
setPromptDelay(int promptDelay)
Overrides RPCManager.promptDelay for this request only.
|
void |
setPromptStyle(PromptStyle promptStyle)
Controls the prompt style for this request only.
|
void |
setSendNoQueue(java.lang.Boolean sendNoQueue)
When set to true, this request is sent to the server immediately, bypassing any current queue.
|
void |
setServerOutputAsString(java.lang.Boolean serverOutputAsString)
Setting this flag makes the body of the HTTP response available as a String in the
callback as data . |
void |
setShowPrompt(java.lang.Boolean showPrompt)
Overrides
RPCManager.showPrompt for this request only. |
void |
setSuppressAutoDraw(java.lang.Boolean suppressAutoDraw)
If
evalResult is set, setting this property to true causes
autoDraw to be set to false for the duration of the result
evaluation - which is generally what you want if you're returning new components from the server. |
void |
setTimeout(int timeout)
Overrides RPCManager.defaultTimeout for this request only.
|
void |
setTransport(RPCTransport transport)
Selects the transport used for this RPCRequest.
|
void |
setUseHttpProxy(java.lang.Boolean useHttpProxy)
Indicates whether this request should use the HttpProxyServlet in order to enable contacting hosts other than the origin
server (available only in Pro Edition or better).
|
void |
setUseSimpleHttp(java.lang.Boolean useSimpleHttp)
When set to true, assume the request is not going to the Smart GWT server, and hence send a simple HTTP request that
does not use Smart GWT-specific request encoding.
|
void |
setWillHandleError(java.lang.Boolean willHandleError)
With willHandleError:false, rpcResponses that indicate an error go through centralized handling in the RPCManager and
rpcRequest.callback is never invoked.
|
doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, getJsObj, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject
public RPCRequest()
public RPCRequest(com.google.gwt.core.client.JavaScriptObject jsObj)
public static RPCRequest getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)
public void setActionURL(java.lang.String actionURL)
actionURL
- . See String
. Default value is RPCManager.actionURLcom.smartgwt.client.rpc.RPCManager#actionURL
public java.lang.String getActionURL()
String
com.smartgwt.client.rpc.RPCManager#actionURL
public void setAllowIE9Leak(java.lang.Boolean allowIE9Leak)
This attribute may be set to false
to explicitly enable the workaround described here
for this request, avoiding a potential memory leak in Internet
Explorer 9.
This workaround has a limitation in that if parsing the JSON response generates certain object types
including JavaScript Date
or function
objects, attempts to interact with these objects can
subsequently lead to a JavaScript error with the message "Can't execute code from a freed script"
.
This workaround therefore may not be suitable for all transactions or dataSources within a given application.
This
property may also be set globally within an application (via allowIE9Leak
)_.
Note: This memory leak and workaround is discussed further in the online Smart GWT FAQ.
Note : This is an advanced setting
allowIE9Leak
- allowIE9Leak Default value is nullpublic java.lang.Boolean getAllowIE9Leak()
This attribute may be set to false
to explicitly enable the workaround described here
for this request, avoiding a potential memory leak in Internet
Explorer 9.
This workaround has a limitation in that if parsing the JSON response generates certain object types
including JavaScript Date
or function
objects, attempts to interact with these objects can
subsequently lead to a JavaScript error with the message "Can't execute code from a freed script"
.
This workaround therefore may not be suitable for all transactions or dataSources within a given application.
This
property may also be set globally within an application (via allowIE9Leak
)_.
Note: This memory leak and workaround is discussed further in the online Smart GWT FAQ.
public void setBypassCache(java.lang.Boolean bypassCache)
Note : This is an advanced setting
bypassCache
- bypassCache Default value is falsepublic java.lang.Boolean getBypassCache()
public void setCallbackParam(java.lang.String callbackParam)
scriptInclude
transport, this attribute
specifies the name of the URL parameter which is used to specify the callback function that
the server is expected to call by writing out JavaScript code. The actual function to call
is automatically generated and differs for every request (to allow concurrency).
For example, with callbackParam
set to it's default value of "callback", the
server might be contacted with a URL like:
loadData?callback=isc_scriptIncludeCallback_5.. then the server's response should look like:
isc_scriptIncludeCallback_5({ .. data .. });The name "isc_scriptIncludeCallback_5" is automatically generated and will differ each time the server is contacted.
Smart GWT makes of this server-provided callback mechanism, then calls
callback
normally.
rpcRequest.callbackParam
is ignored by all transport other than
scriptInclude
.
callbackParam
- . See String
. Default value is "callback"public java.lang.String getCallbackParam()
scriptInclude
transport, this attribute
specifies the name of the URL parameter which is used to specify the callback function that
the server is expected to call by writing out JavaScript code. The actual function to call
is automatically generated and differs for every request (to allow concurrency).
For example, with callbackParam
set to it's default value of "callback", the
server might be contacted with a URL like:
loadData?callback=isc_scriptIncludeCallback_5.. then the server's response should look like:
isc_scriptIncludeCallback_5({ .. data .. });The name "isc_scriptIncludeCallback_5" is automatically generated and will differ each time the server is contacted.
Smart GWT makes of this server-provided callback mechanism, then calls
callback
normally.
rpcRequest.callbackParam
is ignored by all transport other than
scriptInclude
.
String
public void setContainsCredentials(java.lang.Boolean containsCredentials)
Relogin
, this property marks this request an attempt to login,
therefore a response containing the loginRequiredMarker
is a normal condition and should result in the
status code STATUS_LOGIN_INCORRECT
rather than a call
to loginRequired()
. It is not required to set
containsCredentials
, however, it does typically simplify relogin logic by separating the handling of RPCs
that are login attempts from RPCs that are not.
Note : This is an advanced setting
containsCredentials
- containsCredentials Default value is falseRelogin overview and related methods
public java.lang.Boolean getContainsCredentials()
Relogin
, this property marks this request an attempt to login,
therefore a response containing the loginRequiredMarker
is a normal condition and should result in the
status code STATUS_LOGIN_INCORRECT
rather than a call
to loginRequired()
. It is not required to set
containsCredentials
, however, it does typically simplify relogin logic by separating the handling of RPCs
that are login attempts from RPCs that are not.
Relogin overview and related methods
public void setContentType(java.lang.String contentType)
httpMethod
is set to "POST".contentType
- . See String
. Default value is "application/x-www-form-urlencoded"public java.lang.String getContentType()
httpMethod
is set to "POST".String
public void setDownloadResult(java.lang.Boolean downloadResult)
a new browser
window
. Setting this attribute to true means that no callback will be fired and implies that the request will
silently use transport
: "hiddenFrame".
Note : This is an advanced setting
downloadResult
- downloadResult Default value is falsepublic java.lang.Boolean getDownloadResult()
a new browser
window
. Setting this attribute to true means that no callback will be fired and implies that the request will
silently use transport
: "hiddenFrame".
public void setDownloadToNewWindow(java.lang.Boolean downloadToNewWindow)
downloadResult
is true, setting this attribute to true
causes the content of the downloaded file to be displayed in a new browser window.
Note : This is an advanced setting
downloadToNewWindow
- downloadToNewWindow Default value is falsepublic java.lang.Boolean getDownloadToNewWindow()
downloadResult
is true, setting this attribute to true
causes the content of the downloaded file to be displayed in a new browser window.public void setEvalResult(java.lang.Boolean evalResult)
serverOutputAsString
except
the resulting String
is automatically evaluated as JavaScript. The result of the evaluation is then passed to
any specified callback
as data
.
This feature can be used to dynamically load new application modules into a running
application. An RPCRequest with evalResult
enabled can be used to fetch a
static .js file or JavaScript dynamically generated by the server. The returned JavaScript
can contain anything that a JavaScript file loaded at init time can contain, including new
views and new Smart GWT class definitions.
Example usage with RPCManager.sendRequest
:
isc.RPCManager.sendRequest({ evalResult:true, actionURL:"js/loadLabel.js", evalVars:{var1:"A Value"} });This call would execute the code from
loadLabel.js
, and make the variable
var1
available to that code. Therefore if the .js file contained this code:
isc.Label.create({ contents:var1 })A label would be created with contents set to the value of
var1
- the string
"A Value"
.
This feature relies on the XMLHttpRequest object which can be disabled by end-users in some
supported browsers. See PlatformDependencies
for more information.
Note : This is an advanced setting
evalResult
- evalResult Default value is falseViewLoader
,
setEvalVars(java.util.Map)
public java.lang.Boolean getEvalResult()
serverOutputAsString
except
the resulting String
is automatically evaluated as JavaScript. The result of the evaluation is then passed to
any specified callback
as data
.
This feature can be used to dynamically load new application modules into a running
application. An RPCRequest with evalResult
enabled can be used to fetch a
static .js file or JavaScript dynamically generated by the server. The returned JavaScript
can contain anything that a JavaScript file loaded at init time can contain, including new
views and new Smart GWT class definitions.
Example usage with RPCManager.sendRequest
:
isc.RPCManager.sendRequest({ evalResult:true, actionURL:"js/loadLabel.js", evalVars:{var1:"A Value"} });This call would execute the code from
loadLabel.js
, and make the variable
var1
available to that code. Therefore if the .js file contained this code:
isc.Label.create({ contents:var1 })A label would be created with contents set to the value of
var1
- the string
"A Value"
.
This feature relies on the XMLHttpRequest object which can be disabled by end-users in some
supported browsers. See PlatformDependencies
for more information.
ViewLoader
,
com.smartgwt.client.rpc.RPCRequest#getEvalVars
public void setHttpMethod(java.lang.String httpMethod)
The more obscure "PUT", "DELETE" and "HEAD" methods are also valid, however, none of these are supported by the Safari browser previous to version 3.0.
httpMethod
- . See String
. Default value is "POST"public java.lang.String getHttpMethod()
The more obscure "PUT", "DELETE" and "HEAD" methods are also valid, however, none of these are supported by the Safari browser previous to version 3.0.
String
public void setIgnoreTimeout(java.lang.Boolean ignoreTimeout)
Note:
setting this to true, forces sendNoQueue
to true
for this request.
Note : This is an advanced setting
ignoreTimeout
- ignoreTimeout Default value is falsepublic java.lang.Boolean getIgnoreTimeout()
Note:
setting this to true, forces sendNoQueue
to true
for this request.
public void setOmitNullMapValuesInResponse(java.lang.Boolean omitNullMapValuesInResponse)
To enable this globally for all responses you can set
RPCManager.omitNullMapValuesInResponse in server.properties
.
Note : This is an advanced setting
omitNullMapValuesInResponse
- omitNullMapValuesInResponse Default value is falsepublic java.lang.Boolean getOmitNullMapValuesInResponse()
To enable this globally for all responses you can set
RPCManager.omitNullMapValuesInResponse in server.properties
.
public void setPrompt(java.lang.String prompt)
prompt
- . See HTMLString
. Default value is RPCManager.defaultPromptcom.smartgwt.client.rpc.RPCManager#defaultPrompt
,
com.smartgwt.client.rpc.RPCManager#showPrompt
,
com.smartgwt.client.rpc.RPCManager#promptStyle
,
com.smartgwt.client.rpc.RPCManager#promptCursor
,
setShowPrompt(java.lang.Boolean)
,
setPromptStyle(com.smartgwt.client.types.PromptStyle)
,
setPromptCursor(java.lang.String)
,
RpcPrompt overview and related methods
public java.lang.String getPrompt()
HTMLString
com.smartgwt.client.rpc.RPCManager#defaultPrompt
,
com.smartgwt.client.rpc.RPCManager#showPrompt
,
com.smartgwt.client.rpc.RPCManager#promptStyle
,
com.smartgwt.client.rpc.RPCManager#promptCursor
,
getShowPrompt()
,
getPromptStyle()
,
getPromptCursor()
,
RpcPrompt overview and related methods
public void setPromptCursor(java.lang.String promptCursor)
promptStyle
is set to
"cursor"
for this request only. Defaults to promptCursor
. In Safari, IE 5.5 and Firefox 1.0 the default value is "wait", on all other platforms it is "progress". The reason for this split is that the above-mentioned browsers do not support CSS2.1 - which is required for the "progress" cursor type.
promptCursor
- . See String
. Default value is browser-dependentcom.smartgwt.client.rpc.RPCManager#promptCursor
,
RpcPrompt overview and related methods
public java.lang.String getPromptCursor()
promptStyle
is set to
"cursor"
for this request only. Defaults to promptCursor
. In Safari, IE 5.5 and Firefox 1.0 the default value is "wait", on all other platforms it is "progress". The reason for this split is that the above-mentioned browsers do not support CSS2.1 - which is required for the "progress" cursor type.
String
com.smartgwt.client.rpc.RPCManager#promptCursor
,
RpcPrompt overview and related methods
public void setPromptDelay(int promptDelay)
promptDelay
. If you're using queuing, note that the promptDelay of the first request is used for the entire queue.
Note : This is an advanced setting
promptDelay
- promptDelay Default value is RPCManager.promptDelaysetShowPrompt(java.lang.Boolean)
,
com.smartgwt.client.rpc.RPCManager#promptDelay
,
RpcPrompt overview and related methods
public int getPromptDelay()
promptDelay
. If you're using queuing, note that the promptDelay of the first request is used for the entire queue.
getShowPrompt()
,
com.smartgwt.client.rpc.RPCManager#promptDelay
,
RpcPrompt overview and related methods
public void setPromptStyle(PromptStyle promptStyle)
promptStyle
.promptStyle
- promptStyle Default value is RPCManager.promptStylecom.smartgwt.client.rpc.RPCManager#promptStyle
,
RpcPrompt overview and related methods
public PromptStyle getPromptStyle()
promptStyle
.com.smartgwt.client.rpc.RPCManager#promptStyle
,
RpcPrompt overview and related methods
public void setSendNoQueue(java.lang.Boolean sendNoQueue)
Note : This is an advanced setting
sendNoQueue
- sendNoQueue Default value is falsepublic java.lang.Boolean getSendNoQueue()
public void setServerOutputAsString(java.lang.Boolean serverOutputAsString)
callback
as data
.
This is typically only useful if you are sending a request that will not be received by the Smart GWT Java
Server, however in that case, set useSimpleHttp
:true
instead, which implies serverOutputAsString:true
. serverOutputAsString:true
allows you to,
for example, load the contents of static files off your webserver into a string for processing on the client with no
server support. The actionURL
must be in the same domain as the
current page for this to work.
This feature relies on the XMLHttpRequest object which can be disabled by end-users
in some supported browsers. See PlatformDependencies
for more information.
Generally this API is used for either non-Java backends
or for advanced
usage such as content that requires processing before it can be used in Smart GWT components (such as client-side web
scraping). Note that Smart GWT provides higher-level APIs for loading common types of data, see eg HTMLFlow
for HTML content, ViewLoader
for loading Smart
GWT components, XMLTools.loadXML
for loading XML, evalResult
for loading JSON, and DataSource
for loading structured data in various
formats.
Note : This is an advanced setting
serverOutputAsString
- serverOutputAsString Default value is falsepublic java.lang.Boolean getServerOutputAsString()
callback
as data
.
This is typically only useful if you are sending a request that will not be received by the Smart GWT Java
Server, however in that case, set useSimpleHttp
:true
instead, which implies serverOutputAsString:true
. serverOutputAsString:true
allows you to,
for example, load the contents of static files off your webserver into a string for processing on the client with no
server support. The actionURL
must be in the same domain as the
current page for this to work.
This feature relies on the XMLHttpRequest object which can be disabled by end-users
in some supported browsers. See PlatformDependencies
for more information.
Generally this API is used for either non-Java backends
or for advanced
usage such as content that requires processing before it can be used in Smart GWT components (such as client-side web
scraping). Note that Smart GWT provides higher-level APIs for loading common types of data, see eg HTMLFlow
for HTML content, ViewLoader
for loading Smart
GWT components, XMLTools.loadXML
for loading XML, evalResult
for loading JSON, and DataSource
for loading structured data in various
formats.
public void setShowPrompt(java.lang.Boolean showPrompt)
RPCManager.showPrompt
for this request only. If you're using queuing, note that if any of the requests in the queue specify showPrompt:true, then a prompt will be shown for the entire queue with the prompt text of the first request in the queue to specify a custom prompt if promptStyle is set to "dialog".
If promptStyle is set to "cursor" for the request that specified showPrompt: true, then the entire queue uses the "cursor" style for the prompt.
showPrompt
- showPrompt Default value is nullcom.smartgwt.client.rpc.RPCManager#showPrompt
,
RpcPrompt overview and related methods
public java.lang.Boolean getShowPrompt()
RPCManager.showPrompt
for this request only. If you're using queuing, note that if any of the requests in the queue specify showPrompt:true, then a prompt will be shown for the entire queue with the prompt text of the first request in the queue to specify a custom prompt if promptStyle is set to "dialog".
If promptStyle is set to "cursor" for the request that specified showPrompt: true, then the entire queue uses the "cursor" style for the prompt.
com.smartgwt.client.rpc.RPCManager#showPrompt
,
RpcPrompt overview and related methods
public void setSuppressAutoDraw(java.lang.Boolean suppressAutoDraw)
evalResult
is set, setting this property to true causes
autoDraw
to be set to false for the duration of the result
evaluation - which is generally what you want if you're returning new components from the server. This also effects
components loaded via the RPCManager.loadScreen
API.
Note : This is an advanced setting
suppressAutoDraw
- suppressAutoDraw Default value is truepublic java.lang.Boolean getSuppressAutoDraw()
evalResult
is set, setting this property to true causes
autoDraw
to be set to false for the duration of the result
evaluation - which is generally what you want if you're returning new components from the server. This also effects
components loaded via the RPCManager.loadScreen
API.
public void setTimeout(int timeout)
Note : This is an advanced setting
timeout
- timeout Default value is RPCManager.defaultTimeoutcom.smartgwt.client.rpc.RPCManager#defaultTimeout
public int getTimeout()
com.smartgwt.client.rpc.RPCManager#defaultTimeout
public void setTransport(RPCTransport transport)
defaultTransport
will be used. If you're using queueing, note that all requests in the queue must use the same transport. If you attempt to send a request via a different transport than those that are currently on the queue, it will be sent to the server separately, ahead of the queue, and a warning will be logged to the Developer Console.
If you specify an unknown transport, an error will be logged to the
DeveloperConsole and defaultTransport
will be used instead.
If you specify the xmlHttpRequest
transport and it is not available, a warning will be logged to the
Developer Console and the RPCManager will attempt to use the hiddenFrame
transport instead for this
request. Note that some features like serverOutputAsString
require the xmlHttpRequest
transport and will not work if the
xmlHttpRequest
transport is unavailable (this can happen if the end user is using Internet Explorer and has
disabled ActiveX). You can check whether or not the xmlHttpRequest
transport is currently available by
calling RPCManager.xmlHttpRequestAvailable
.
Note : This is an advanced setting
transport
- transport Default value is RPCManager.defaultTransportcom.smartgwt.client.rpc.RPCManager#defaultTransport
public RPCTransport getTransport()
defaultTransport
will be used. If you're using queueing, note that all requests in the queue must use the same transport. If you attempt to send a request via a different transport than those that are currently on the queue, it will be sent to the server separately, ahead of the queue, and a warning will be logged to the Developer Console.
If you specify an unknown transport, an error will be logged to the
DeveloperConsole and defaultTransport
will be used instead.
If you specify the xmlHttpRequest
transport and it is not available, a warning will be logged to the
Developer Console and the RPCManager will attempt to use the hiddenFrame
transport instead for this
request. Note that some features like serverOutputAsString
require the xmlHttpRequest
transport and will not work if the
xmlHttpRequest
transport is unavailable (this can happen if the end user is using Internet Explorer and has
disabled ActiveX). You can check whether or not the xmlHttpRequest
transport is currently available by
calling RPCManager.xmlHttpRequestAvailable
.
com.smartgwt.client.rpc.RPCManager#defaultTransport
public void setUseHttpProxy(java.lang.Boolean useHttpProxy)
When various UI components issues requests automatically, or when
a call to RPCManager.sendProxied
is made, the HttpProxy will
automatically be used for a URL that starts with "http" and uses a hostname other than "localhost" or
window.location.hostname
, or if the port number differs.
rpcRequest.useHttpProxy
should
only be used to force requests to go through the HttpProxy when the above rules don't work, or to avoid using the
HttpProxy when contacting hosts that allow cross-site calls via the Http Access Control standard.
You can
also set useHttpProxy
:false to avoid ever using the
HttpProxyServlet.
useHttpProxy
- useHttpProxy Default value is nullpublic java.lang.Boolean getUseHttpProxy()
When various UI components issues requests automatically, or when
a call to RPCManager.sendProxied
is made, the HttpProxy will
automatically be used for a URL that starts with "http" and uses a hostname other than "localhost" or
window.location.hostname
, or if the port number differs.
rpcRequest.useHttpProxy
should
only be used to force requests to go through the HttpProxy when the above rules don't work, or to avoid using the
HttpProxy when contacting hosts that allow cross-site calls via the Http Access Control standard.
You can
also set useHttpProxy
:false to avoid ever using the
HttpProxyServlet.
public void setUseSimpleHttp(java.lang.Boolean useSimpleHttp)
Values specified in params
are sent to to the server as HTTP request parameters. If httpMethod
is "GET", parameters appear in the request URL, otherwise
if httpMethod is "POST", parameters are encoded in the request body (exactly like an HTML form does). These parameters
are then accessible via typical server-side APIs for retrieving HTTP parameters, eg,
servletRequest.getParameter(paramName) in Java Servlets.
Note that if httpMethod
method is POST and data
is supplied, data
is
assumed to be a string to post as the HTTP request body, and params
are sent as URL parameters instead. This usage is for sending custom request bodies such as the XML payloads used for
SOAP. In this case, contentType
is typically also set to
indicate the content type of the request body.
Setting useSimpleHttp
to true also automatically sets
serverOutputAsString
to true as well.
Note : This is an advanced setting
useSimpleHttp
- useSimpleHttp Default value is falsepublic java.lang.Boolean getUseSimpleHttp()
Values specified in params
are sent to to the server as HTTP request parameters. If httpMethod
is "GET", parameters appear in the request URL, otherwise
if httpMethod is "POST", parameters are encoded in the request body (exactly like an HTML form does). These parameters
are then accessible via typical server-side APIs for retrieving HTTP parameters, eg,
servletRequest.getParameter(paramName) in Java Servlets.
Note that if httpMethod
method is POST and data
is supplied, data
is
assumed to be a string to post as the HTTP request body, and params
are sent as URL parameters instead. This usage is for sending custom request bodies such as the XML payloads used for
SOAP. In this case, contentType
is typically also set to
indicate the content type of the request body.
Setting useSimpleHttp
to true also automatically sets
serverOutputAsString
to true as well.
public void setWillHandleError(java.lang.Boolean willHandleError)
Setting willHandleError:true means that your rpcRequest.callback will receive rpcResponses that have an error status and must handle them.
See also the error handling section in the RPCManager
docs.
willHandleError
- willHandleError Default value is falseRPCManager
,
ErrorHandling overview and related methods
public java.lang.Boolean getWillHandleError()
Setting willHandleError:true means that your rpcRequest.callback will receive rpcResponses that have an error status and must handle them.
See also the error handling section in the RPCManager
docs.
RPCManager
,
ErrorHandling overview and related methods
public static void create()
RPCManager.sendRequest
and RPCManager.send
.public void setData(com.google.gwt.core.client.JavaScriptObject data)
Smart GWT server
, objects sent to the server as
request.data
will be available on the server-side RPCRequest
object as Java Objects. This is
achieved by serializing the client side data in a JSON type format and generating Java Objects on the server from this
serialized data.
If the client side request.data
is set to a Java object in your SmartGWT code on the client side,
logic in your server side code will be passed the following equivalent objects:
Client | Server Type |
boolean primitive or Boolean | Boolean |
Non-fractional numeric value (e.g: int, Integer, long, Long) | Long |
Fractional numeric value (e.g:float, Float, double, Double) | Double |
String | String |
Date | Date |
List, Set, Iterator | List |
Map | Map |
Record | Map |
RecordList | List of Map |
ResultSet | List of Map (containing only loaded rows if the ResultSet has a partial cache on the client) |
Server->client conversion follows this table as well, with some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional behaviors.
When not communicating with the Smart GWT server, rpcRequest.data
becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp
for
details.
data
- data Default value is nullRPCResponse.getDataAsMap()
,
RPCResponse.getDataAsObject()
,
RPCResponse.getDataAsString()
public void setData(java.lang.String data)
Smart GWT server
, objects sent to the server as
request.data
will be available on the server-side RPCRequest
object as Java Objects. This is
achieved by serializing the client side data in a JSON type format and generating Java Objects on the server from this
serialized data.
If the client side request.data
is set to a Java object in your SmartGWT code on the client side,
logic in your server side code will be passed the following equivalent objects:
Client | Server Type |
boolean primitive or Boolean | Boolean |
Non-fractional numeric value (e.g: int, Integer, long, Long) | Long |
Fractional numeric value (e.g:float, Float, double, Double) | Double |
String | String |
Date | Date |
List, Set, Iterator | List |
Map | Map |
Record | Map |
RecordList | List of Map |
ResultSet | List of Map (containing only loaded rows if the ResultSet has a partial cache on the client) |
Server->client conversion follows this table as well, with some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional behaviors.
When not communicating with the Smart GWT server, rpcRequest.data
becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp
for
details.
data
- data Default value is nullRPCResponse.getDataAsMap()
,
RPCResponse.getDataAsObject()
,
RPCResponse.getDataAsString()
public void setData(Record data)
Smart GWT server
, objects sent to the server as
request.data
will be available on the server-side RPCRequest
object as Java Objects. This is
achieved by serializing the client side data in a JSON type format and generating Java Objects on the server from this
serialized data.
If the client side request.data
is set to a Java object in your SmartGWT code on the client side,
logic in your server side code will be passed the following equivalent objects:
Client | Server Type |
boolean primitive or Boolean | Boolean |
Non-fractional numeric value (e.g: int, Integer, long, Long) | Long |
Fractional numeric value (e.g:float, Float, double, Double) | Double |
String | String |
Date | Date |
List, Set, Iterator | List |
Map | Map |
Record | Map |
RecordList | List of Map |
ResultSet | List of Map (containing only loaded rows if the ResultSet has a partial cache on the client) |
Server->client conversion follows this table as well, with some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional behaviors.
When not communicating with the Smart GWT server, rpcRequest.data
becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp
for
details.
data
- data Default value is nullRPCResponse.getDataAsMap()
,
RPCResponse.getDataAsObject()
,
RPCResponse.getDataAsString()
public void setData(java.util.Map data)
Smart GWT server
, objects sent to the server as
request.data
will be available on the server-side RPCRequest
object as Java Objects. This is
achieved by serializing the client side data in a JSON type format and generating Java Objects on the server from this
serialized data.
If the client side request.data
is set to a Java object in your SmartGWT code on the client side,
logic in your server side code will be passed the following equivalent objects:
Client | Server Type |
boolean primitive or Boolean | Boolean |
Non-fractional numeric value (e.g: int, Integer, long, Long) | Long |
Fractional numeric value (e.g:float, Float, double, Double) | Double |
String | String |
Date | Date |
List, Set, Iterator | List |
Map | Map |
Record | Map |
RecordList | List of Map |
ResultSet | List of Map (containing only loaded rows if the ResultSet has a partial cache on the client) |
Server->client conversion follows this table as well, with some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional behaviors.
When not communicating with the Smart GWT server, rpcRequest.data
becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp
for
details.
data
- data Default value is nullRPCResponse.getDataAsMap()
,
RPCResponse.getDataAsObject()
,
RPCResponse.getDataAsString()
public com.google.gwt.core.client.JavaScriptObject getData()
When using the Smart GWT server
, objects sent to the server as
request.data
will be available on the server-side RPCRequest
object as Java Objects. This is
achieved by serializing the client side data in a JSON type format and generating Java Objects on the server from this
serialized data.
If the client side request.data
is set to a Java object in your SmartGWT code on the client side,
logic in your server side code will be passed the following equivalent objects:
Client | Server Type |
boolean primitive or Boolean | Boolean |
Non-fractional numeric value (e.g: int, Integer, long, Long) | Long |
Fractional numeric value (e.g:float, Float, double, Double) | Double |
String | String |
Date | Date |
List, Set, Iterator | List |
Map | Map |
Record | Map |
RecordList | List of Map |
ResultSet | List of Map (containing only loaded rows if the ResultSet has a partial cache on the client) |
Server->client conversion follows this table as well, with some extras. See the toJS() method on JSTranslater in the server documentation for a description of additional behaviors.
When not communicating with the Smart GWT server, rpcRequest.data
becomes simple HTTP
parameters or an HTTP request body - see useSimpleHttp
for
details.
public java.lang.String getDataAsString()
public void setParams(java.util.Map params)
This API is primarily used in combination with
useSimpleHttp
.
When contacting the Smart GWT
server, setting params
is an opportunity to send additional data aside from the main data
payload; this is useful for adding data to DataSource requests
which will be kept separate from the automatically sent DataSource data.
Note that in contrast to data
object, the data in rpcRequest.params
is not
serialized/deserialized by the Smart GWT server, and all values arrive on the server as String type (like HTTP
parameters always do).
The params value can also be a componentID or component instance that provides a
method getValues() that returns an Object literal. Smart GWT components DynamicForm
, ValuesManager
are two
such classes. Lastly, you may specify the ID of a native form element (retreivable via getElementById()) and the
params will be populated from there. If there is an error resolving your params directive, it will be logged to
the Developer Console.
Note: The params are submitted once per http transaction. If you are using RPCManager.startQueue()
to bundle multiple RPCRequests or DSRequests into a single HTTP
turnaround, the params from the various RPCRequests will be merged, with the later-queued transactions winning on
parameter name collisions. A warning will be logged in the Developer Console if multiple RPCRequests specified
params.
params
- params Default value is nullpublic void setHttpHeaders(java.util.Map httpHeaders)
Valid with the xmlHttpRequest transport only.
httpHeaders
- the http headerspublic java.util.Map getHttpHeaders()
Valid with the xmlHttpRequest transport only.
public void setEvalVars(java.util.Map evalVars)
setEvalResult(Boolean)
: true, then the property values of this object will
be available in the evaluation scope of the result under the variable names specified by the property names.
So e.g. if evalVars is: {foo: "bar"} then a reference to the variable foo in the result will evaluate to "bar".
evalVars
- the eval vars. Defaults to null