public class DSRequest extends RPCRequest
DataSource operation
.
All properties which are legal on RPCRequest
are legal, in addition to the properties
listed here. RPCRequest
Constructor and Description |
---|
DSRequest() |
DSRequest(DSOperationType operationType) |
DSRequest(DSOperationType operationType,
Criteria criteria) |
DSRequest(DSOperationType operationType,
com.google.gwt.core.client.JavaScriptObject data) |
DSRequest(DSOperationType operationType,
Record data) |
DSRequest(DSOperationType operationType,
java.lang.String operationId) |
DSRequest(DSOperationType operationType,
java.lang.String operationId,
Criteria criteria) |
DSRequest(DSOperationType operationType,
java.lang.String operationId,
com.google.gwt.core.client.JavaScriptObject data) |
DSRequest(DSOperationType operationType,
java.lang.String operationId,
Record data) |
DSRequest(com.google.gwt.core.client.JavaScriptObject jsObj) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getAdditionalOutputs()
For fetch, add or update operation, an optional comma separated list of fields to fetch from another,
related DataSource.
|
java.lang.String |
getComponentId()
For requests submitted by a
DataBoundComponent , the ID of the submitting component. |
Criteria |
getCriteria()
Return the Criteria associated with a FETCH operation.
|
java.lang.String |
getDataSource()
DataSource this DSRequest will act on.
|
java.lang.Integer |
getEndRow()
End row of requested results, used only with fetch operations.
|
ExportFormat |
getExportAs()
The format in which the data should be exported.
|
Record[] |
getExportData()
Only applies to request properties passed to
DataBoundComponent.exportClientData . |
java.lang.Boolean |
getExportDatesAsFormattedString()
Only applicable when exporting to native spreadsheet formats
XLS and OOXML . |
java.lang.String |
getExportDelimiter()
The character to use as a field-separator in CSV exports.
|
ExportDisplay |
getExportDisplay()
Specifies whether the exported data will be downloaded as an attachment or displayed in a new browser window.
|
java.lang.String[] |
getExportFields()
The list of field-names to export.
|
java.lang.String |
getExportFilename()
The name of the file to save the exported data into.
|
java.lang.String |
getExportFooter()
Optional text to appear at the end of the file.
|
java.lang.String |
getExportHeader()
Optional text to appear at the beginning of the file.
|
java.lang.Boolean |
getExportHeaderless()
This property allows omitting column names from CSV and Excel exports (no effect on JSON or XML exports).
|
ExportImageFormat |
getExportImageFormat()
The image format in which the SVG graphic should be exported.
|
java.lang.Float |
getExportImageQuality()
If exporting in
JPEG format , the output JPEG quality level. |
java.lang.Double |
getExportImageQualityAsDouble()
If exporting in
JPEG format , the output JPEG quality level. |
java.lang.String |
getExportPath()
If
exportToFilesystem is set, optionally specifies a
path to use when saving the file. |
java.lang.Boolean |
getExportResults()
When set, causes the results of the DSRequest to be exported to a file, whose name
and format are indicated by
exportFilename and
exportAs respectively. |
java.lang.Boolean |
getExportShowHeaderSpanTitles()
When you erxport a
ListGrid that has headerSpans , should headerSpans also be exported. |
java.lang.String |
getExportSpanTitleSeparator()
When you export a
ListGrid that has headerSpans defined and exportShowHeaderSpanTitles is true, the behavior is
dependent on the export type. |
java.lang.String |
getExportTitleSeparatorChar()
The character with which to replace spaces in field-titles when exporting to XML.
|
java.lang.Boolean |
getExportToClient()
If set, Smart GWT Server will export data back to the client, either as a file download or as content in a new browser
window, depending on the setting of
exportDisplay . |
java.lang.Boolean |
getExportToFilesystem()
If set, Smart GWT Server will export data to a file on the server filesystem.
|
java.lang.Boolean |
getExportValueFields()
Only applies to request properties passed to
DataBoundComponent.exportClientData . |
java.util.Map |
getFieldFunctions()
For
fetch operation aggregation functions used. |
java.lang.Boolean |
getGenerateRelatedUpdates()
Specifies should related updates have to be generated.
|
java.util.Map |
getHeaderData()
For DataSources using SOAP messaging with a WSDL web service, data to be serialized to form SOAP headers, as a map from the header part name to the data.
|
java.lang.String |
getLineBreakStyle()
The style of line-breaks to use in the exported output.
|
Record |
getOldValues()
For an
update or remove operation, the original values from the record that is being updated
or removed. |
java.lang.String |
getOperationId()
When a
DataBoundComponent sends a DSRequest, the dsRequest.operationId
will be automatically picked up from the fetchOperation , addOperation , etc properties of the
DataBoundComponent. |
DSOperationType |
getOperationType()
Type of operation being performed: "fetch", "add", "remove", "update" or "custom".
|
static DSRequest |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
java.lang.String |
getOutputs()
The list of fields to return in the response, specified as a comma-separated string (eg,
"foo, bar, baz" ). |
TreeNode |
getParentNode()
For advanced use in integrating trees that
load data on demand
with web services, parentNode is automatically set in "fetch" DSRequests issued by a databound TreeGrid that is loading
children for that parentNode . |
java.lang.Boolean |
getPendingAdd()
Indicates that a validation request is being made for a record that will ultimately be saved with an "add" request, as
opposed to an "update" request.
|
java.lang.Boolean |
getProgressiveLoading()
Sets
progressive loading mode for this specific
request, overriding the OperationBinding- and DataSource-level settings. |
java.lang.String |
getRequestId()
Automatically generated unique ID for this request.
|
ResultSet |
getResultSet()
For advanced use in integrating dataset paging with web services, the ResultSet that issued this "fetch" DSRequest
is automatically made available as the resultSet property.
|
java.lang.Boolean |
getShouldUseCache()
This is a per-request flag for explicitly controlling whether the cache is used (bypassing it when not wanted, or using
it when settings would indicate otherwise).
|
SortSpecifier[] |
getSortBy()
Fieldname to sortBy
|
java.lang.Integer |
getStartRow()
Starting row of requested results, used only with fetch operations.
|
java.lang.String |
getStreamResults()
If true, results will be streamed on the server, rather than all records being read into server memory at once; this
approach is appropriate for retrieving or exporting large datasets without swamping the server.
|
TextMatchStyle |
getTextMatchStyle()
For "fetch" operations, how search criteria should be interpreted for text fields: either "exact" for exact match,
"startsWith" for matching at the beginning only, or "substring" for case-insensitive substring match.
|
java.lang.Boolean |
getUseFlatFields()
When
useFlatFields is set for a request to be sent to a WSDL web service, when
creating the input XML message to send to the web service, properties in
request.data will be used as the values for XML elements of the same
name, at
any level of nesting. |
java.lang.Boolean |
getUseFlatHeaderFields()
Cause the
useFlatFields XML serialization behavior to be
used for all soap headers in the request. |
java.lang.Boolean |
getUseStrictJSON()
Should the HTTP response to this request be formatted using the strict JSON subset of the javascript language? If set to
true, responses returned by the server should match the format described here.
|
ValidationMode |
getValidationMode()
Mode of validation for entered data.
|
void |
setAdditionalOutputs(java.lang.String additionalOutputs)
For fetch, add or update operation, an optional comma separated list of fields to fetch from another,
related DataSource.
|
void |
setAttribute(java.lang.String property,
java.lang.Object value)
Set a custom attribute value on the DSRequest as an Object.
|
void |
setComponentId(java.lang.String componentId)
For requests submitted by a
DataBoundComponent , the ID of the submitting component. |
void |
setCriteria(Criteria criteria)
This method applies to "fetch" requests only; for update or delete operations pass a Record to
setData() which contains primaryKey values as Record attributes.
|
void |
setDataSource(java.lang.String dataSource)
DataSource this DSRequest will act on.
|
void |
setEndRow(java.lang.Integer endRow)
End row of requested results, used only with fetch operations.
|
void |
setExportAs(ExportFormat exportAs)
The format in which the data should be exported.
|
void |
setExportData(Record... exportData)
Only applies to request properties passed to
DataBoundComponent.exportClientData . |
void |
setExportDatesAsFormattedString(java.lang.Boolean exportDatesAsFormattedString)
Only applicable when exporting to native spreadsheet formats
XLS and OOXML . |
void |
setExportDelimiter(java.lang.String exportDelimiter)
The character to use as a field-separator in CSV exports.
|
void |
setExportDisplay(ExportDisplay exportDisplay)
Specifies whether the exported data will be downloaded as an attachment or displayed in a new browser window.
|
void |
setExportFields(java.lang.String[] exportFields)
The list of field-names to export.
|
void |
setExportFilename(java.lang.String exportFilename)
The name of the file to save the exported data into.
|
void |
setExportFooter(java.lang.String exportFooter)
Optional text to appear at the end of the file.
|
void |
setExportHeader(java.lang.String exportHeader)
Optional text to appear at the beginning of the file.
|
void |
setExportHeaderless(java.lang.Boolean exportHeaderless)
This property allows omitting column names from CSV and Excel exports (no effect on JSON or XML exports).
|
void |
setExportImageFormat(ExportImageFormat exportImageFormat)
The image format in which the SVG graphic should be exported.
|
void |
setExportImageQuality(java.lang.Double exportImageQuality)
If exporting in
JPEG format , the output JPEG quality level. |
void |
setExportImageQuality(java.lang.Float exportImageQuality)
If exporting in
JPEG format , the output JPEG quality level. |
void |
setExportPath(java.lang.String exportPath)
If
exportToFilesystem is set, optionally specifies a
path to use when saving the file. |
void |
setExportResults(java.lang.Boolean exportResults)
When set, causes the results of the DSRequest to be exported to a file, whose name
and format are indicated by
exportFilename and
exportAs respectively. |
void |
setExportShowHeaderSpanTitles(java.lang.Boolean exportShowHeaderSpanTitles)
When you erxport a
ListGrid that has headerSpans , should headerSpans also be exported. |
void |
setExportSpanTitleSeparator(java.lang.String exportSpanTitleSeparator)
When you export a
ListGrid that has headerSpans defined and exportShowHeaderSpanTitles is true, the behavior is
dependent on the export type. |
void |
setExportTitleSeparatorChar(java.lang.String exportTitleSeparatorChar)
The character with which to replace spaces in field-titles when exporting to XML.
|
void |
setExportToClient(java.lang.Boolean exportToClient)
If set, Smart GWT Server will export data back to the client, either as a file download or as content in a new browser
window, depending on the setting of
exportDisplay . |
void |
setExportToFilesystem(java.lang.Boolean exportToFilesystem)
If set, Smart GWT Server will export data to a file on the server filesystem.
|
void |
setExportValueFields(java.lang.Boolean exportValueFields)
Only applies to request properties passed to
DataBoundComponent.exportClientData . |
void |
setFieldFunctions(java.util.Map fieldFunctions)
For
fetch operation aggregation functions can be set. |
void |
setGenerateRelatedUpdates(java.lang.Boolean generateRelatedUpdates)
Specifies should related updates have to be generated.
|
void |
setHeaderData(java.util.Map headerData)
For DataSources using SOAP messaging with a WSDL web service, data to be serialized to form SOAP headers, as a map from the header part name to the data.
|
void |
setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj) |
void |
setLineBreakStyle(java.lang.String lineBreakStyle)
The style of line-breaks to use in the exported output.
|
void |
setOldValues(com.google.gwt.core.client.JavaScriptObject oldValues)
For an
update or remove operation, the original values from the record that is being updated
or removed. |
void |
setOldValues(java.util.Map oldValues)
For an
update or remove operation, the original values from the record that is being updated
or removed. |
void |
setOldValues(Record oldValues)
For an
update or remove operation, the original values from the record that is being updated
or removed. |
void |
setOperationId(java.lang.String operationId)
When a
DataBoundComponent sends a DSRequest, the dsRequest.operationId
will be automatically picked up from the fetchOperation , addOperation , etc properties of the
DataBoundComponent. |
void |
setOperationType(DSOperationType operationType)
Type of operation being performed: "fetch", "add", "remove", "update" or "custom".
|
void |
setOutputs(java.lang.String outputs)
The list of fields to return in the response, specified as a comma-separated string (eg,
"foo, bar, baz" ). |
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 |
setPendingAdd(java.lang.Boolean pendingAdd)
Indicates that a validation request is being made for a record that will ultimately be saved with an "add" request, as
opposed to an "update" request.
|
void |
setProgressiveLoading(java.lang.Boolean progressiveLoading)
Sets
progressive loading mode for this specific
request, overriding the OperationBinding- and DataSource-level settings. |
void |
setShouldUseCache(java.lang.Boolean shouldUseCache)
This is a per-request flag for explicitly controlling whether the cache is used (bypassing it when not wanted, or using
it when settings would indicate otherwise).
|
void |
setSkinName(java.lang.String skinName)
Set the skin to use.
|
void |
setSortBy(SortSpecifier[] sortSpecifiers)
Fieldnames to sortBy.
|
void |
setStartRow(java.lang.Integer startRow)
Starting row of requested results, used only with fetch operations.
|
void |
setStreamResults(java.lang.String streamResults)
If true, results will be streamed on the server, rather than all records being read into server memory at once; this
approach is appropriate for retrieving or exporting large datasets without swamping the server.
|
void |
setTextMatchStyle(TextMatchStyle textMatchStyle)
For "fetch" operations, how search criteria should be interpreted for text fields: either "exact" for exact match,
"startsWith" for matching at the beginning only, or "substring" for case-insensitive substring match.
|
void |
setUseFlatFields(java.lang.Boolean useFlatFields)
When
useFlatFields is set for a request to be sent to a WSDL web service, when
creating the input XML message to send to the web service, properties in
request.data will be used as the values for XML elements of the same
name, at
any level of nesting. |
void |
setUseFlatHeaderFields(java.lang.Boolean useFlatHeaderFields)
Cause the
useFlatFields XML serialization behavior to be
used for all soap headers in the request. |
void |
setUseStrictJSON(java.lang.Boolean useStrictJSON)
Should the HTTP response to this request be formatted using the strict JSON subset of the javascript language? If set to
true, responses returned by the server should match the format described here.
|
void |
setValidationMode(ValidationMode validationMode)
Mode of validation for entered data.
|
create, getActionURL, getAllowIE9Leak, getBypassCache, getCallbackParam, getContainsCredentials, getContentType, getData, getDataAsString, getDownloadResult, getDownloadToNewWindow, getEvalResult, getHttpHeaders, getHttpMethod, getIgnoreTimeout, getOmitNullMapValuesInResponse, getPrompt, getPromptCursor, getPromptDelay, getPromptStyle, getSendNoQueue, getServerOutputAsString, getShowPrompt, getSuppressAutoDraw, getTimeout, getTransport, getUseHttpProxy, getUseSimpleHttp, getWillHandleError, setActionURL, setAllowIE9Leak, setBypassCache, setCallbackParam, setContainsCredentials, setContentType, setData, setData, setData, setData, setDownloadResult, setDownloadToNewWindow, setEvalResult, setEvalVars, setHttpHeaders, setHttpMethod, setIgnoreTimeout, setOmitNullMapValuesInResponse, setPrompt, setPromptCursor, setPromptDelay, setPromptStyle, setSendNoQueue, setServerOutputAsString, setShowPrompt, setSuppressAutoDraw, setTimeout, setTransport, setUseHttpProxy, setUseSimpleHttp, setWillHandleError
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, setAttributeAsJavaObject
public DSRequest()
public DSRequest(com.google.gwt.core.client.JavaScriptObject jsObj)
public DSRequest(DSOperationType operationType)
public DSRequest(DSOperationType operationType, java.lang.String operationId)
public DSRequest(DSOperationType operationType, Record data)
public DSRequest(DSOperationType operationType, java.lang.String operationId, Record data)
public DSRequest(DSOperationType operationType, com.google.gwt.core.client.JavaScriptObject data)
public DSRequest(DSOperationType operationType, java.lang.String operationId, com.google.gwt.core.client.JavaScriptObject data)
public DSRequest(DSOperationType operationType, Criteria criteria)
public DSRequest(DSOperationType operationType, java.lang.String operationId, Criteria criteria)
public static DSRequest getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)
setJavaScriptObject
in class RPCRequest
public void setAdditionalOutputs(java.lang.String additionalOutputs)
Fields should be specified in the format
"localFieldName!relatedDataSourceID.relatedDataSourceFieldName"
.
where relatedDataSourceID
is the ID of the related dataSource, and
relatedDataSourceFieldName
is the field for which you want to
fetch related values. The returned field values will be stored on
the data returned to the client under the specified localFieldName
.
Note that this will be applied in addition to any specified outputs
.
Note that as with includeFrom
, the related
dataSource must be
linked to the primary datasource via a foreignKey relationship.
Note additionalOutputs sent in request from the browser can be completely disabled in
server.properties
by setting
datasource.allowClientAdditionalOutputs
:
datasource.allowClientAdditionalOutputs: falseIn this case
additionalOutputs
sent from the browser
will be cleared before
executing request. Note that programatically configured additionalOutputs are always allowed, but
you can't modify them from within a DMI method, so the only way to execute a request
with additionalOutputs that differ from what was sent by the client is to create a new DSRequest
Note : This is an advanced setting
additionalOutputs
- . See String
. Default value is nullpublic java.lang.String getAdditionalOutputs()
Fields should be specified in the format
"localFieldName!relatedDataSourceID.relatedDataSourceFieldName"
.
where relatedDataSourceID
is the ID of the related dataSource, and
relatedDataSourceFieldName
is the field for which you want to
fetch related values. The returned field values will be stored on
the data returned to the client under the specified localFieldName
.
Note that this will be applied in addition to any specified outputs
.
Note that as with includeFrom
, the related
dataSource must be
linked to the primary datasource via a foreignKey relationship.
Note additionalOutputs sent in request from the browser can be completely disabled in
server.properties
by setting
datasource.allowClientAdditionalOutputs
:
datasource.allowClientAdditionalOutputs: falseIn this case
additionalOutputs
sent from the browser
will be cleared before
executing request. Note that programatically configured additionalOutputs are always allowed, but
you can't modify them from within a DMI method, so the only way to execute a request
with additionalOutputs that differ from what was sent by the client is to create a new DSRequestString
public void setComponentId(java.lang.String componentId)
DataBoundComponent
, the ID
of the submitting component. This ID will be present for operations
including automatic saves by a ListGrid during editing
, or calls to form.saveData()
. It will not be present for a direct call to a
DataSource method such as DataSource.fetchData
.
Note this is
the component's String ID - you can retrieve the component itself via Canvas.getById
.
This property should be used for debugging purposes only
- do not use it to trigger differences in server-side behavior, instead, use operationId
because only operationId
is considered when
assessing request equivalence
.
componentId
- . See String
. Default value is nullpublic java.lang.String getComponentId()
DataBoundComponent
, the ID
of the submitting component. This ID will be present for operations
including automatic saves by a ListGrid during editing
, or calls to form.saveData()
. It will not be present for a direct call to a
DataSource method such as DataSource.fetchData
.
Note this is
the component's String ID - you can retrieve the component itself via Canvas.getById
.
This property should be used for debugging purposes only
- do not use it to trigger differences in server-side behavior, instead, use operationId
because only operationId
is considered when
assessing request equivalence
.
String
public void setDataSource(java.lang.String dataSource)
This property is generally automatically populated, for example when calling
DataSource.fetchData
the dataSource property is set to the target
DataSource.
dataSource
- . See String
. Default value is nullpublic java.lang.String getDataSource()
This property is generally automatically populated, for example when calling
DataSource.fetchData
the dataSource property is set to the target
DataSource.
String
public void setEndRow(java.lang.Integer endRow)
Note that startRow and endRow are zero-based, inclusive at the beginning and exclusive at the end (like substring), so startRow: 0, endRow: 1 is a request for the first record.
endRow
- endRow Default value is nullpublic java.lang.Integer getEndRow()
Note that startRow and endRow are zero-based, inclusive at the beginning and exclusive at the end (like substring), so startRow: 0, endRow: 1 is a request for the first record.
public void setExportAs(ExportFormat exportAs)
ExportFormat
for more
information.exportAs
- exportAs Default value is "csv"public ExportFormat getExportAs()
ExportFormat
for more
information.public void setExportData(Record... exportData)
DataBoundComponent.exportClientData
. If specified this property contains an arbitrary set of data to be exported.exportData
- exportData Default value is nullpublic Record[] getExportData()
DataBoundComponent.exportClientData
. If specified this property contains an arbitrary set of data to be exported.public void setExportDatesAsFormattedString(java.lang.Boolean exportDatesAsFormattedString)
XLS
and OOXML
. If set, we
export date fields as strings that exactly match the formatting present in the DataBoundComponent
from which we are exporting. Note that this will mean the values are
plain strings in the spreadsheet.
The default behavior when this property is not set is to export date fields as
real date values in the spreadsheet, using whichever date format is prevalent (the format specified on the field in the
component, the dataSourceField or the current system default, in that order). This may result in the spreadsheet cell
having a different format to the value that the user sees in the DataBoundComponent
we are exporting from.
exportDatesAsFormattedString
- exportDatesAsFormattedString Default value is nullpublic java.lang.Boolean getExportDatesAsFormattedString()
XLS
and OOXML
. If set, we
export date fields as strings that exactly match the formatting present in the DataBoundComponent
from which we are exporting. Note that this will mean the values are
plain strings in the spreadsheet.
The default behavior when this property is not set is to export date fields as
real date values in the spreadsheet, using whichever date format is prevalent (the format specified on the field in the
component, the dataSourceField or the current system default, in that order). This may result in the spreadsheet cell
having a different format to the value that the user sees in the DataBoundComponent
we are exporting from.
public void setExportDelimiter(java.lang.String exportDelimiter)
exportDelimiter
- . See String
. Default value is ","public java.lang.String getExportDelimiter()
String
public void setExportDisplay(ExportDisplay exportDisplay)
ExportDisplay
for more information.exportDisplay
- exportDisplay Default value is "download"public ExportDisplay getExportDisplay()
ExportDisplay
for more information.public void setExportFilename(java.lang.String exportFilename)
exportToFilesystem
is set, this is the name of the file the
server creates on its filesystem. If exportToClient
is
set, this is the filename that will appear to the browser.exportFilename
- . See String
. Default value is nullsetExportPath(java.lang.String)
public java.lang.String getExportFilename()
exportToFilesystem
is set, this is the name of the file the
server creates on its filesystem. If exportToClient
is
set, this is the filename that will appear to the browser.String
getExportPath()
public void setExportFooter(java.lang.String exportFooter)
exportFooter
- . See String
. Default value is nullpublic java.lang.String getExportFooter()
String
public void setExportHeader(java.lang.String exportHeader)
exportHeader
- . See String
. Default value is nullpublic java.lang.String getExportHeader()
String
public void setExportHeaderless(java.lang.Boolean exportHeaderless)
exportHeaderless
- exportHeaderless Default value is falsepublic java.lang.Boolean getExportHeaderless()
public void setExportImageFormat(ExportImageFormat exportImageFormat)
exportImageFormat
- exportImageFormat Default value is "png"public ExportImageFormat getExportImageFormat()
public void setExportImageQuality(java.lang.Float exportImageQuality)
JPEG format
, the output JPEG quality level. This is
a number from 0 to 1, with 1 representing the best quality and 0 representing the least quality but smallest file size.exportImageQuality
- exportImageQuality Default value is nullpublic java.lang.Float getExportImageQuality()
JPEG format
, the output JPEG quality level. This is
a number from 0 to 1, with 1 representing the best quality and 0 representing the least quality but smallest file size.public void setExportImageQuality(java.lang.Double exportImageQuality)
JPEG format
, the output JPEG quality level. This is
a number from 0 to 1, with 1 representing the best quality and 0 representing the least quality but smallest file size.exportImageQuality
- exportImageQuality Default value is nullpublic java.lang.Double getExportImageQualityAsDouble()
JPEG format
, the output JPEG quality level. This is
a number from 0 to 1, with 1 representing the best quality and 0 representing the least quality but smallest file size.public void setExportPath(java.lang.String exportPath)
exportToFilesystem
is set, optionally specifies a
path to use when saving the file. This path is relative to the default export path, which is set using the server.properties
setting export.location
; this is
the project webRoot by default. For example, with the default setting of export.location
, an
exportPath
of "shared/ds"
and an exportFilename
of "exportedData.csv"
, Smart GWT Server would export to file
$webRoot/shared/ds/exportedData.csv
. If you do not specify this property, Smart GWT Server will export
to the file indicated by exportFilename
directly in the default export location.
This property is only
applicable when exportToFilesystem
is set.
exportPath
- . See String
. Default value is nullsetExportFilename(java.lang.String)
public java.lang.String getExportPath()
exportToFilesystem
is set, optionally specifies a
path to use when saving the file. This path is relative to the default export path, which is set using the server.properties
setting export.location
; this is
the project webRoot by default. For example, with the default setting of export.location
, an
exportPath
of "shared/ds"
and an exportFilename
of "exportedData.csv"
, Smart GWT Server would export to file
$webRoot/shared/ds/exportedData.csv
. If you do not specify this property, Smart GWT Server will export
to the file indicated by exportFilename
directly in the default export location.
This property is only
applicable when exportToFilesystem
is set.
String
getExportFilename()
public void setExportResults(java.lang.Boolean exportResults)
exportFilename
and
exportAs
respectively. When no exportFilename is provided, the
default is
Results and the default value of exportAs is csv.
The export field-list can also be configured, see exportFields
.
Once the operation completes, exportDisplay
specifies
whether the exported
data should be downloaded to the file-system or displayed in a new window. The default value
of exportDisplay is "download" which displays the Save As dialog. See ExportDisplay
for more information.
You can configure the style of line-breaks to use when
generating the output, the delimiter
to use when exporting
to CSV and the separator-character
to use in
field-titles when exporting to XML.
Additionally, you can output arbitrary text before and after the exported data by setting
exportHeader
and exportFooter
.
Note that an export initiated using dsRequest properties does not provide support for JSON format (see this post for more detail).
As well as setting dsRequest.exportResults and related properties, exports can be initiated
in two other ways, via OperationBinding
s and via custom server code which sets
export-related properties on the DSResponse
. Both of those methods support exporting
to JSON format.
Format Examples XML format
<List> <Object> <id>10101</id> <displayName>Record 10101</displayName> </Object> </List>JSON Format
[ { id: 10101, displayName: "Record 10101" } ]CSV Format
id,displayName 10101,"Record 10101"
exportResults
- exportResults Default value is falsepublic java.lang.Boolean getExportResults()
exportFilename
and
exportAs
respectively. When no exportFilename is provided, the
default is
Results and the default value of exportAs is csv.
The export field-list can also be configured, see exportFields
.
Once the operation completes, exportDisplay
specifies
whether the exported
data should be downloaded to the file-system or displayed in a new window. The default value
of exportDisplay is "download" which displays the Save As dialog. See ExportDisplay
for more information.
You can configure the style of line-breaks to use when
generating the output, the delimiter
to use when exporting
to CSV and the separator-character
to use in
field-titles when exporting to XML.
Additionally, you can output arbitrary text before and after the exported data by setting
exportHeader
and exportFooter
.
Note that an export initiated using dsRequest properties does not provide support for JSON format (see this post for more detail).
As well as setting dsRequest.exportResults and related properties, exports can be initiated
in two other ways, via OperationBinding
s and via custom server code which sets
export-related properties on the DSResponse
. Both of those methods support exporting
to JSON format.
Format Examples XML format
<List> <Object> <id>10101</id> <displayName>Record 10101</displayName> </Object> </List>JSON Format
[ { id: 10101, displayName: "Record 10101" } ]CSV Format
id,displayName 10101,"Record 10101"
public void setExportShowHeaderSpanTitles(java.lang.Boolean exportShowHeaderSpanTitles)
ListGrid
that has headerSpans
, should headerSpans also be exported. See exportSpanTitleSeparator
for details of of what it means
to export headerSpans to different export targets.exportShowHeaderSpanTitles
- exportShowHeaderSpanTitles Default value is truepublic java.lang.Boolean getExportShowHeaderSpanTitles()
ListGrid
that has headerSpans
, should headerSpans also be exported. See exportSpanTitleSeparator
for details of of what it means
to export headerSpans to different export targets.public void setExportSpanTitleSeparator(java.lang.String exportSpanTitleSeparator)
ListGrid
that has headerSpans
defined and exportShowHeaderSpanTitles
is true, the behavior is
dependent on the export type. Direct exports to Excel formats (both XLS and OOXML) place the headerSpans in merged
cells in the spreadsheet, giving the same visual effect as the original ListGrid. This is not possible with exports to
CSV format; instead, we alter the exported headers so that they contain the titles of the ancestor headerSpan(s). For example, if you had a field titled "Population" inside a headerSpan titled "National", nested inside another headerSpan titled "Demographics", that would result in the exported field being titled "Demographics - National - Population".
The exportSpanTitleSeparator
property allows you to override the separator string used
when constructing these amalgamated headers.
exportSpanTitleSeparator
- . See String
. Default value is " - "public java.lang.String getExportSpanTitleSeparator()
ListGrid
that has headerSpans
defined and exportShowHeaderSpanTitles
is true, the behavior is
dependent on the export type. Direct exports to Excel formats (both XLS and OOXML) place the headerSpans in merged
cells in the spreadsheet, giving the same visual effect as the original ListGrid. This is not possible with exports to
CSV format; instead, we alter the exported headers so that they contain the titles of the ancestor headerSpan(s). For example, if you had a field titled "Population" inside a headerSpan titled "National", nested inside another headerSpan titled "Demographics", that would result in the exported field being titled "Demographics - National - Population".
The exportSpanTitleSeparator
property allows you to override the separator string used
when constructing these amalgamated headers.
String
public void setExportTitleSeparatorChar(java.lang.String exportTitleSeparatorChar)
exportTitleSeparatorChar
- . See String
. Default value is nullpublic java.lang.String getExportTitleSeparatorChar()
String
public void setExportToClient(java.lang.Boolean exportToClient)
exportDisplay
. Note
that it is perfectly valid to specify both this property and exportToFilesystem
; in this case the data is both exported to
a file on the server filesystem, and downloaded to the client. If you specify neither property, the export
no-ops.
exportToClient
- exportToClient Default value is truepublic java.lang.Boolean getExportToClient()
exportDisplay
. Note
that it is perfectly valid to specify both this property and exportToFilesystem
; in this case the data is both exported to
a file on the server filesystem, and downloaded to the client. If you specify neither property, the export
no-ops.
public void setExportToFilesystem(java.lang.Boolean exportToFilesystem)
exportFilename
and exportPath
. Note that filesystem exports are disabled by default,
for security reasons. To enable them, set export.allow.filesystem
to true in your
server.properties
file. If you enable filesystem exports, you should also consider setting a default
export path, as described in the exportPath
documentation.
Note that it is perfectly valid to specify both this property and exportToClient
; in this case the data is both exported to a file
on the server filesystem and downloaded to the client. If you specify neither property, the export
no-ops.
It is possible to redirect the filesystem export to make use of an OutputStream
you provide.
You use this when you want to make some use of the export document other than writing it to a disk file - for example,
attaching it to an email or writing it to a database table. See the server-side Javadocs for
DSRequest.setExportTo()
.
exportToFilesystem
- exportToFilesystem Default value is falsepublic java.lang.Boolean getExportToFilesystem()
exportFilename
and exportPath
. Note that filesystem exports are disabled by default,
for security reasons. To enable them, set export.allow.filesystem
to true in your
server.properties
file. If you enable filesystem exports, you should also consider setting a default
export path, as described in the exportPath
documentation.
Note that it is perfectly valid to specify both this property and exportToClient
; in this case the data is both exported to a file
on the server filesystem and downloaded to the client. If you specify neither property, the export
no-ops.
It is possible to redirect the filesystem export to make use of an OutputStream
you provide.
You use this when you want to make some use of the export document other than writing it to a disk file - for example,
attaching it to an email or writing it to a database table. See the server-side Javadocs for
DSRequest.setExportTo()
.
public void setExportValueFields(java.lang.Boolean exportValueFields)
DataBoundComponent.exportClientData
. Ordinarily, any fields that have a displayField
defined have the value of that
displayFIeld exported, rather than the underlying value in the valueField
. If you set this property, we export both
the underlying value and the displayField value.exportValueFields
- exportValueFields Default value is nullpublic java.lang.Boolean getExportValueFields()
DataBoundComponent.exportClientData
. Ordinarily, any fields that have a displayField
defined have the value of that
displayFIeld exported, rather than the underlying value in the valueField
. If you set this property, we export both
the underlying value and the displayField value.public void setGenerateRelatedUpdates(java.lang.Boolean generateRelatedUpdates)
null
) then related updates
will be generated only for "add" and "update" operations. This property has to be explicitly set to true
to
generate related updates for "remove" operation. This functionality loads related objects from database thus
affecting operation performance. For "add" and "update" operations related objects are loaded anyway and performance
impact is minimal. Simple "remove" operation does not need to load related objects. Depending on database structure
performance impact can be significant if this property is set to true
.generateRelatedUpdates
- generateRelatedUpdates Default value is nullpublic java.lang.Boolean getGenerateRelatedUpdates()
null
) then related updates
will be generated only for "add" and "update" operations. This property has to be explicitly set to true
to
generate related updates for "remove" operation. This functionality loads related objects from database thus
affecting operation performance. For "add" and "update" operations related objects are loaded anyway and performance
impact is minimal. Simple "remove" operation does not need to load related objects. Depending on database structure
performance impact can be significant if this property is set to true
.public void setLineBreakStyle(java.lang.String lineBreakStyle)
lineBreakStyle
- . See String
. Default value is nullpublic java.lang.String getLineBreakStyle()
String
public void setOldValues(Record oldValues)
update
or remove
operation, the original values from the record that is being updated
or removed. oldValues
is automatically added to DSRequests submitted by DataBound Components. Available
on the server via DSRequest.getOldValues()
. The server can compare the oldValues
to the
most recent stored values in order to detect that the user was looking at stale values when the user submitted changes
(NOTE: this means of detecting concurrent edit is sometimes called "optimistic concurrency" or "long transactions").
In applications where a policy of "last update wins" is not appropriate when updating certain fields, special UI can
be shown for this case. For example, on detecting concurrent edit, the server may send back a special
dsResponse.status
code that the client application detects, offering the user a choice of proceeding with
the operation, discarding edits, or reconciling new and old values in a special interface.
oldValues
- oldValues Default value is nullpublic Record getOldValues()
update
or remove
operation, the original values from the record that is being updated
or removed. oldValues
is automatically added to DSRequests submitted by DataBound Components. Available
on the server via DSRequest.getOldValues()
. The server can compare the oldValues
to the
most recent stored values in order to detect that the user was looking at stale values when the user submitted changes
(NOTE: this means of detecting concurrent edit is sometimes called "optimistic concurrency" or "long transactions").
In applications where a policy of "last update wins" is not appropriate when updating certain fields, special UI can
be shown for this case. For example, on detecting concurrent edit, the server may send back a special
dsResponse.status
code that the client application detects, offering the user a choice of proceeding with
the operation, discarding edits, or reconciling new and old values in a special interface.
public void setOperationId(java.lang.String operationId)
DataBoundComponent
sends a DSRequest, the dsRequest.operationId
will be automatically picked up from the fetchOperation
, addOperation
, etc properties of the
DataBoundComponent. The operationId
serves as an identifier that you can use to create variations on
the 4 basic DataSource operations that are used by different components in different parts of your application. For
example, you may be using a standard fetch
operation in one part of your application, however on another
screen you want to perform a fetch
operation on the same DataSource but interpret search criteria
differently (eg full text search).
If you declare more than one OperationBinding
for the same operationType
, you can specify an
operationId
on the operationBinding
which
will cause that operationBinding to be used for dsRequests containing a matching operationId
. This allows
all the possible settings of an operationBinding
, including wsOperation
or DMI
settings, to be switched on a per-component or per-request basis.
For example, by setting the fetchOperation
on a particular ListGrid, you could cause it to invoke a
different server method via DMI, different dataURL
or
different web service operation
.
The
operationId
can also be directly received by the server in order to affect behavior. When using the Smart
GWT Server, operationId
can be accessed via dsRequest.getOperationId(). The RestDataSource
will also send the operationId
to the server as part of the request metadata
.
Note that if you manually invoke
a DataSource operation, you can also specify operationId
via the requestProperties
parameter.
Note that the operationId
has special significance in
terms of whether two DSRequests are considered equivalent for caching and synchronization purposes - see DsRequestEquivalence
.
operationId
- . See String
. Default value is nullOperations overview and related methods
public java.lang.String getOperationId()
DataBoundComponent
sends a DSRequest, the dsRequest.operationId
will be automatically picked up from the fetchOperation
, addOperation
, etc properties of the
DataBoundComponent. The operationId
serves as an identifier that you can use to create variations on
the 4 basic DataSource operations that are used by different components in different parts of your application. For
example, you may be using a standard fetch
operation in one part of your application, however on another
screen you want to perform a fetch
operation on the same DataSource but interpret search criteria
differently (eg full text search).
If you declare more than one OperationBinding
for the same operationType
, you can specify an
operationId
on the operationBinding
which
will cause that operationBinding to be used for dsRequests containing a matching operationId
. This allows
all the possible settings of an operationBinding
, including wsOperation
or DMI
settings, to be switched on a per-component or per-request basis.
For example, by setting the fetchOperation
on a particular ListGrid, you could cause it to invoke a
different server method via DMI, different dataURL
or
different web service operation
.
The
operationId
can also be directly received by the server in order to affect behavior. When using the Smart
GWT Server, operationId
can be accessed via dsRequest.getOperationId(). The RestDataSource
will also send the operationId
to the server as part of the request metadata
.
Note that if you manually invoke
a DataSource operation, you can also specify operationId
via the requestProperties
parameter.
Note that the operationId
has special significance in
terms of whether two DSRequests are considered equivalent for caching and synchronization purposes - see DsRequestEquivalence
.
String
Operations overview and related methods
public void setOperationType(DSOperationType operationType)
This property is generally
automatically populated, for example when calling fetchData()
on a DataSource or DataBound component the
operationType is automatically set to "fetch". Note that "custom" operations are never generated automatically, they
are always fired by your code.
operationType
- operationType Default value is nullpublic DSOperationType getOperationType()
This property is generally
automatically populated, for example when calling fetchData()
on a DataSource or DataBound component the
operationType is automatically set to "fetch". Note that "custom" operations are never generated automatically, they
are always fired by your code.
public void setOutputs(java.lang.String outputs)
"foo, bar, baz"
).
You can use this property to indicate to the server that you are only interested in a subset of the fields that would
normally be returned. Note that you cannot use this property to request a superset of the fields that would
normally be returned, because that would be a security hole. It is possible to configure individual OperationBinding
s to return extra fields, but this must be done in the server's DataSource
descriptor; it cannot be altered on the fly from the client side.
outputs
- . See String
. Default value is nullOperationBinding.outputs
,
setAdditionalOutputs(java.lang.String)
public java.lang.String getOutputs()
"foo, bar, baz"
).
You can use this property to indicate to the server that you are only interested in a subset of the fields that would
normally be returned. Note that you cannot use this property to request a superset of the fields that would
normally be returned, because that would be a security hole. It is possible to configure individual OperationBinding
s to return extra fields, but this must be done in the server's DataSource
descriptor; it cannot be altered on the fly from the client side.
String
OperationBinding.outputs
,
getAdditionalOutputs()
public void setPendingAdd(java.lang.Boolean pendingAdd)
validateOnChange
is in
force.pendingAdd
- pendingAdd Default value is nullpublic java.lang.Boolean getPendingAdd()
validateOnChange
is in
force.public void setProgressiveLoading(java.lang.Boolean progressiveLoading)
progressive loading mode
for this specific
request, overriding the OperationBinding- and DataSource-level settings. Note that this setting applies only to fetch
requests - it has no effect if specified on any other kind of request.progressiveLoading
- progressiveLoading Default value is nullDataSource.setProgressiveLoading(java.lang.Boolean)
,
OperationBinding.progressiveLoading
,
ProgressiveLoading overview and related methods
public java.lang.Boolean getProgressiveLoading()
progressive loading mode
for this specific
request, overriding the OperationBinding- and DataSource-level settings. Note that this setting applies only to fetch
requests - it has no effect if specified on any other kind of request.public java.lang.String getRequestId()
"clientCustom" dataProtocol
.String
public void setShouldUseCache(java.lang.Boolean shouldUseCache)
cacheAllData
, cacheAllOperationId
and cacheAcrossOperationIds
for caching management for all
requests of a dataSource.shouldUseCache
- shouldUseCache Default value is nullpublic java.lang.Boolean getShouldUseCache()
cacheAllData
, cacheAllOperationId
and cacheAcrossOperationIds
for caching management for all
requests of a dataSource.public void setStartRow(java.lang.Integer startRow)
Note that startRow and endRow are zero-based, inclusive at the beginning and exclusive at the end (like substring), so startRow: 0, endRow: 1 is a request for the first record.
startRow
- startRow Default value is nullpublic java.lang.Integer getStartRow()
Note that startRow and endRow are zero-based, inclusive at the beginning and exclusive at the end (like substring), so startRow: 0, endRow: 1 is a request for the first record.
public void setStreamResults(java.lang.String streamResults)
Although this
property can be set without any particular concerns (small datasets can be streamed just as readily as large ones),
bear in mind that although streaming enables the processing of very large datasets, processing and downloading very
large datasets in a normal client/server flow will very rarely give an acceptable user experience. Streaming is of
more practical use in a batch setting - for example, a disconnected export
.
Note that streaming requires specific server
support; of Smart GWT's built-in DataSource types, only SQLDataSource
is able to stream results. This
property is ignored by other DataSource types.
See also the server-side documentation for DSResponse
,
SQLDataSource
and StreamingResponseIterator
.
streamResults
- . See String
. Default value is falsepublic java.lang.String getStreamResults()
Although this
property can be set without any particular concerns (small datasets can be streamed just as readily as large ones),
bear in mind that although streaming enables the processing of very large datasets, processing and downloading very
large datasets in a normal client/server flow will very rarely give an acceptable user experience. Streaming is of
more practical use in a batch setting - for example, a disconnected export
.
Note that streaming requires specific server
support; of Smart GWT's built-in DataSource types, only SQLDataSource
is able to stream results. This
property is ignored by other DataSource types.
See also the server-side documentation for DSResponse
,
SQLDataSource
and StreamingResponseIterator
.
String
public void setTextMatchStyle(TextMatchStyle textMatchStyle)
This setting is respected by the built-in SQLDataSource. Your custom DataSource implementation can interpret the search criteria passed into "fetch" operations in arbitrary ways; you can safely ignore this flag and use others of your own devising.
textMatchStyle
- textMatchStyle Default value is "exact"public TextMatchStyle getTextMatchStyle()
This setting is respected by the built-in SQLDataSource. Your custom DataSource implementation can interpret the search criteria passed into "fetch" operations in arbitrary ways; you can safely ignore this flag and use others of your own devising.
public void setUseFlatFields(java.lang.Boolean useFlatFields)
useFlatFields
is set for a request to be sent to a WSDL web service, when
creating the input XML message to send to the web service, properties in
request.data
will be used as the values for XML elements of the same
name, at
any level of nesting.
useFlatFields
allows you to ignore gratuitous XML message structure, such as
extra levels of nested elements, and provides some insulation against changes in the
required structure of the input message.
For example, given this input message:
<FindServices> <searchFor>search text</searchFor> <Options> <caseSensitive>false</caseSensitive> </Options> <IncludeInSearch> <serviceName>true</serviceName> <documentation>true</documentation> <keywords>true</keywords> </IncludeInSearch> </FindServices>If
useFlatFields
were not set, in order to fill out this message
correctly, request.data
would need to be:
{ searchFor: "search text", Options : { caseSensitive: false, }, IncludeInSearch : { serviceName: true, documentation : true, keywords : true } }However if useFlatFields were set,
request.data
could be just:
{ searchFor: "search text", caseSensitive: false, serviceName: true, documentation : true, keywords : true }
useFlatFields
is often set when the input data comes from a DynamicForm
to avoid the cumbersome and fragile process of mapping input fields to an XML structure.
useFlatFields
can also be set to cause all
dsRequests of a
particular type to useFlatFields
automatically.
For DataBoundComponents
,
component.useFlatFields
can be set use
"flattened"
binding to fields of a WSDL message or XML Schema.
Note that useFlatFields
is not generally recommended for use with XML input
messages where multiple simple type fields exist with the same name, however if used in this
way, the first field to use a given name wins. "first" means the first field encountered in a
depth first search. "wins" means only the first field will be populated in the generated
XML message.
useFlatFields
- useFlatFields Default value is nullpublic java.lang.Boolean getUseFlatFields()
useFlatFields
is set for a request to be sent to a WSDL web service, when
creating the input XML message to send to the web service, properties in
request.data
will be used as the values for XML elements of the same
name, at
any level of nesting.
useFlatFields
allows you to ignore gratuitous XML message structure, such as
extra levels of nested elements, and provides some insulation against changes in the
required structure of the input message.
For example, given this input message:
<FindServices> <searchFor>search text</searchFor> <Options> <caseSensitive>false</caseSensitive> </Options> <IncludeInSearch> <serviceName>true</serviceName> <documentation>true</documentation> <keywords>true</keywords> </IncludeInSearch> </FindServices>If
useFlatFields
were not set, in order to fill out this message
correctly, request.data
would need to be:
{ searchFor: "search text", Options : { caseSensitive: false, }, IncludeInSearch : { serviceName: true, documentation : true, keywords : true } }However if useFlatFields were set,
request.data
could be just:
{ searchFor: "search text", caseSensitive: false, serviceName: true, documentation : true, keywords : true }
useFlatFields
is often set when the input data comes from a DynamicForm
to avoid the cumbersome and fragile process of mapping input fields to an XML structure.
useFlatFields
can also be set to cause all
dsRequests of a
particular type to useFlatFields
automatically.
For DataBoundComponents
,
component.useFlatFields
can be set use
"flattened"
binding to fields of a WSDL message or XML Schema.
Note that useFlatFields
is not generally recommended for use with XML input
messages where multiple simple type fields exist with the same name, however if used in this
way, the first field to use a given name wins. "first" means the first field encountered in a
depth first search. "wins" means only the first field will be populated in the generated
XML message.
public void setUseFlatHeaderFields(java.lang.Boolean useFlatHeaderFields)
useFlatFields
XML serialization behavior to be
used for all soap headers in the request. See also headerData
.useFlatHeaderFields
- useFlatHeaderFields Default value is nullpublic java.lang.Boolean getUseFlatHeaderFields()
useFlatFields
XML serialization behavior to be
used for all soap headers in the request. See also headerData
.public void setUseStrictJSON(java.lang.Boolean useStrictJSON)
Only applies to requests sent a server with dataFormat
set to "json" or "iscServer".
useStrictJSON
- useStrictJSON Default value is nullpublic java.lang.Boolean getUseStrictJSON()
Only applies to requests sent a server with dataFormat
set to "json" or "iscServer".
public void setValidationMode(ValidationMode validationMode)
validationMode
- validationMode Default value is "full"public ValidationMode getValidationMode()
public void setAttribute(java.lang.String property, java.lang.Object value)
DataClass.getAttributeAsObject(String)
in order to retrieve them.
These attributes are available for client-side use only - these attributes are not transmitted to the server.
Do not use setAttribute() to set any attribute for which there is a dedicated setter (do not setAttribute("data", data) for example).
If you are looking for a way to send additional data to the server, read
com.smartgwt.client.docs.DsRequestEquivalence,this overview
for the best approach.
setAttribute
in class DataClass
property
- the attribute namevalue
- the attribute value.public void setExportFields(java.lang.String[] exportFields)
If exportFields is not provided, the exported output includes all visible fields from the DataSource (field.hidden=false), sorted in the order they're defined.
exportFields
- exportFields Default value is nullpublic java.lang.String[] getExportFields()
If exportFields is not provided, the exported output includes all visible fields from the DataSource (field.hidden=false), sorted in the order they're defined.
public void setParams(java.util.Map params)
RPCRequest
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.
setParams
in class RPCRequest
params
- params Default value is nullpublic void setHeaderData(java.util.Map headerData)
SOAP headers typically contain request metadata such as a session id for authentication, and so dsRequest.headerData is typically populated by DataSource.transformRequest(), or, for data that applies to every request sent to the server, by WebService.getHeaderData().
headerData
- the header datapublic java.util.Map getHeaderData()
SOAP headers typically contain request metadata such as a session id for authentication, and so dsRequest.headerData is typically populated by DataSource.transformRequest(), or, for data that applies to every request sent to the server, by WebService.getHeaderData().
public ResultSet getResultSet()
This property can only be read. There is no meaning to setting this property yourself.
public void setSortBy(SortSpecifier[] sortSpecifiers)
sortSpecifiers
- Default value is nullpublic SortSpecifier[] getSortBy()
public void setFieldFunctions(java.util.Map fieldFunctions)
fetch
operation aggregation functions can be set. In this case only fields that appear in this Map
and
fields set via dsRequest.setGroupBy(...)
method will be fetched.fieldFunctions
- Map
with field names as keys and aggregation functions as values.DSRequest.setGroupBy(String[])
public java.util.Map getFieldFunctions()
fetch
operation aggregation functions used. To get rest fields used in select use dsRequest.getGroupBy()
method.Map
with field names as keys and aggregation functions as values.DSRequest.getGroupBy()
public void setOldValues(java.util.Map oldValues)
update
or remove
operation, the original values from the record that is being updated
or removed. oldValues
is automatically added to DSRequests submitted by DataBound Components. Available
on the server via DSRequest.getOldValues()
. The server can compare the oldValues
to the
most recent stored values in order to detect that the user was looking at stale values when the user submitted changes
(NOTE: this means of detecting concurrent edit is sometimes called "optimistic concurrency" or "long transactions").
In applications where a policy of "last update wins" is not appropriate when updating certain fields, special UI can
be shown for this case. For example, on detecting concurrent edit, the server may send back a special
dsResponse.status
code that the client application detects, offering the user a choice of proceeding with
the operation, discarding edits, or reconciling new and old values in a special interface.
oldValues
- oldValues Default value is nullpublic void setOldValues(com.google.gwt.core.client.JavaScriptObject oldValues)
update
or remove
operation, the original values from the record that is being updated
or removed. oldValues
is automatically added to DSRequests submitted by DataBound Components. Available
on the server via DSRequest.getOldValues()
. The server can compare the oldValues
to the
most recent stored values in order to detect that the user was looking at stale values when the user submitted changes
(NOTE: this means of detecting concurrent edit is sometimes called "optimistic concurrency" or "long transactions").
In applications where a policy of "last update wins" is not appropriate when updating certain fields, special UI can
be shown for this case. For example, on detecting concurrent edit, the server may send back a special
dsResponse.status
code that the client application detects, offering the user a choice of proceeding with
the operation, discarding edits, or reconciling new and old values in a special interface.
oldValues
- oldValues Default value is nullpublic Criteria getCriteria() throws java.lang.IllegalStateException
Note : This method should only be called during a FETCH operation
java.lang.IllegalStateException
- if called for a non-fetch operationpublic void setSkinName(java.lang.String skinName)
skinName
- the name of the selected skin.public TreeNode getParentNode()
load data on demand
with web services, parentNode
is automatically set in "fetch" DSRequests issued by a databound TreeGrid that is loading
children for that parentNode
.
This is sometimes needed if a web service requires that additional properties beyond the ID of the parentNode must be
passed in order to accomplished level-by-level loading.
A custom implementation of DataSource.transformRequest(com.smartgwt.client.data.DSRequest)
can access dsRequest.parentNode and
add any such properties to RPCRequest.getData()
.
parentNode
will also be automatically set by a TreeGrid performing databound reparenting of nodes, as implemented
by com.smartgwt.client.widgets.tree.TreeGrid#folderDrop
.
This property can only be read. There is no meaning to setting this property yourself.
public void setCriteria(Criteria criteria)
criteria
- the criteria to store.