Package com.smartgwt.client.data

# Class DSResponse

java.lang.Object
com.smartgwt.client.core.JsObject
com.smartgwt.client.core.DataClass
com.smartgwt.client.core.RefDataClass
com.smartgwt.client.rpc.RPCResponse
com.smartgwt.client.data.DSResponse

All Implemented Interfaces:
  `HasHandlers`

public class DSResponse extends RPCResponse
Response sent by the server in response to a `DataSource request`. Contains all the properties available on the basic `RPCResponse`, in addition to the properties listed here.

- ## Field Summary

  ### Fields inherited from class com.smartgwt.client.rpc.RPCResponse

  `INVALID_RESPONSE_FORMAT, STATUS_AUTHORIZATION_FAILURE, STATUS_CONNECTION_RESET_ERROR, STATUS_CRITERIA_REQUIRED_ERROR, STATUS_FAILURE, STATUS_FILE_REQUIRED_ERROR, STATUS_LOGIN_INCORRECT, STATUS_LOGIN_REQUIRED, STATUS_LOGIN_SUCCESS, STATUS_MAX_FILE_SIZE_EXCEEDED, STATUS_MAX_LOGIN_ATTEMPTS_EXCEEDED, STATUS_MAX_POST_SIZE_EXCEEDED, STATUS_OFFLINE, STATUS_REQUIRED_CRITERIA_MISSING, STATUS_SERVER_TIMEOUT, STATUS_SUCCESS, STATUS_TRANSACTION_FAILED, STATUS_TRANSPORT_ERROR, STATUS_UNKNOWN_HOST_ERROR, STATUS_UPDATE_WITHOUT_PK_ERROR, STATUS_VALIDATION_ERROR`

  ### Fields inherited from class com.smartgwt.client.core.RefDataClass

  `id`

  ### Fields inherited from class com.smartgwt.client.core.DataClass

  `factoryCreated, factoryProperties`

  ### Fields inherited from class com.smartgwt.client.core.JsObject

  `jsObj`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DSResponse()`
  `DSResponse(JavaScriptObject jsObj)`
  `DSResponse(String dataSource)`
  `DSResponse(String dataSource, DSOperationType operationType)`
  `DSResponse(String dataSource, DSOperationType operationType, Record... data)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Record[]`
  `getData()`
  For "fetch" operations, this is the array of Records fetched.
  `RecordList`
  `getDataAsRecordList()`
  For "fetch" operations, this is the array of Records fetched.
  `String`
  `getDataSource()`
  The DataSource of this DSResponse.
  `Integer`
  `getEndRow()`
  End row of returned server results, when using paged result fetching
  `Map`
  `getErrors()`
  Server-side validation errors for an attempted "update" or "add" operation, as a JS Object where each property name is a field name from the record and each property value is an error message to be shown to the user.
  `String`
  `getEstimatedTotalRows()`
  This attribute may be set for responses where `progressive loading` is active to indicate the estimated true total row count for the data set.
  `Boolean`
  `getFromOfflineCache()`
  If set, indicates that this response came from the offline cache, not the server.
  `Map`
  `getHttpHeaders()`
  HTTP headers returned by the server as a map from header name to header value.
  `Boolean`
  `getInvalidateCache()`
  Optional flag that can be set by the server to force ResultSets to drop any caches of records from the DataSource that was the target of the operation.
  `Integer`
  `getOfflineTimestamp()`
  Timestamp (millisecond value) to indicate when this dsResponse was cached in `offline storage`.
  `String`
  `getOperationId()`
  The operation ID of the request corresponding to this DSResponse.
  `DSOperationType`
  `getOperationType()`
  The operation type of the request corresponding to this DSResponse.
  `static DSResponse`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `Boolean`
  `getProgressiveLoading()`
  This attribute may be set to indicate that `progressive loading was enabled`, for a paged data fetch, and as such the `total row count` is not guaranteed to be accurate.
  `int`
  `getQueueStatus()`
  An extra property of each DSResponse to a queued request that indicates whether the queue as a whole succeeded.
  `Integer`
  `getStartRow()`
  Starting row of returned server results, when using paged result fetching
  `int`
  `getStatus()`
  Same meaning as `RPCResponse.status`, except DSResponses have additional error codes, such as `validation failure`.
  `Integer`
  `getTotalRows()`
  Total number of rows available from the server that match the current filter criteria, when using paged result fetching.
  `void`
  `setData(Record... data)`
  For "fetch" operations, this is the array of Records fetched.
  `DSResponse`
  `setDataSource(String dataSource)`
  The DataSource of this DSResponse.
  `void`
  `setEndRow(Integer endRow)`
  End row of returned server results, when using paged result fetching
  `void`
  `setErrors(JavaScriptObject errors)`
  Server-side validation errors for an attempted "update" or "add" operation, as a JS Object where each property name is a field name from the record and each property value is an error message to be shown to the user.
  `void`
  `setErrors(Map errors)`
  Server-side validation errors for an attempted "update" or "add" operation, as a JS Object where each property name is a field name from the record and each property value is an error message to be shown to the user.
  `void`
  `setInvalidateCache(Boolean invalidateCache)`
  Optional flag that can be set by the server to force ResultSets to drop any caches of records from the DataSource that was the target of the operation.
  `DSResponse`
  `setOperationId(String operationId)`
  The operation ID of the request corresponding to this DSResponse.
  `DSResponse`
  `setOperationType(DSOperationType operationType)`
  The operation type of the request corresponding to this DSResponse.
  `DSResponse`
  `setQueueStatus(int queueStatus)`
  An extra property of each DSResponse to a queued request that indicates whether the queue as a whole succeeded.
  `void`
  `setStartRow(Integer startRow)`
  Starting row of returned server results, when using paged result fetching
  `DSResponse`
  `setStatus(int status)`
  Same meaning as `RPCResponse.status`, except DSResponses have additional error codes, such as `validation failure`.
  `void`
  `setTotalRows(Integer totalRows)`
  Total number of rows available from the server that match the current filter criteria, when using paged result fetching.

  ### Methods inherited from class com.smartgwt.client.rpc.RPCResponse

  `create, getDataAsMap, getDataAsObject, getDataAsString, getHttpResponseCode, getHttpResponseText, getTransactionNum, isDSResponse`

  ### Methods inherited from class com.smartgwt.client.core.RefDataClass

  `getRef, getRef, internalSetID`

  ### Methods inherited from class com.smartgwt.client.core.DataClass

  `applyFactoryProperties, doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, 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, setFactoryCreated`

  ### Methods inherited from class com.smartgwt.client.core.JsObject

  `equals, getJsObj, hashCode, isCreated, setJavaScriptObject, setJsObj`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### DSResponse

    public DSResponse()

  - ### DSResponse

    public DSResponse(JavaScriptObject jsObj)

  - ### DSResponse

    public DSResponse(String dataSource)

  - ### DSResponse

    public DSResponse(String dataSource, DSOperationType operationType)

  - ### DSResponse

    public DSResponse(String dataSource, DSOperationType operationType, Record... data)

- ## Method Details

  - ### getOrCreateRef

    public static DSResponse getOrCreateRef(JavaScriptObject jsObj)

  - ### getData

    public Record[] getData()
    For "fetch" operations, this is the array of Records fetched. For "update", "add", and "remove" operations, this is typically an array containing a single Record representing the record that was updated, added, or removed.
    Returns:
      Current data value. Default value is null

  - ### getDataAsRecordList

    public RecordList getDataAsRecordList()
    For "fetch" operations, this is the array of Records fetched. For "update", "add", and "remove" operations, this is typically an array containing a single Record representing the record that was updated, added, or removed.
    Returns:
      Current data value. Default value is null

  - ### setDataSource

    public DSResponse setDataSource(String dataSource)
    The DataSource of this DSResponse.
    Parameters:
      `dataSource` - New dataSource value. Default value is null
    Returns:
      `DSResponse` instance, for chaining setter calls

  - ### getDataSource

    public String getDataSource()
    The DataSource of this DSResponse.
    Returns:
      Current dataSource value. Default value is null

  - ### getEndRow

    public Integer getEndRow()
    End row of returned server results, when using paged result fetching

    Note that startRow and endRow are zero-based, inclusive at the beginning and exclusive at the end (like substring), so startRow: 0, endRow: 2 is a response containing two records.

    Returns:
      Current endRow value. Default value is null

  - ### getEstimatedTotalRows

    public String getEstimatedTotalRows()
    This attribute may be set for responses where `progressive loading` is active to indicate the estimated true total row count for the data set. In progressive loading mode, `totalRows` can be thought of as an indication of the last row the user is allowed to request (EG by scrolling through a databound ListGrid), whereas `estimatedTotalRows` can convey the server's knowledge of the number of matching rows to the client.

    This value may be validly set to a String in the following format:

    - "500+": There are at least 500 records
    - "-500": There are fewer than 500 records
    - "450-500": There are between 450 and 500 records
    - "~500": There are approximately 500 records
    - "500": There are exactly than 500 records
    If you are using a Smart GWT server side dataSource that supports the `DataSource.progressiveLoadingThreshold` feature, this property will be populated automatically to an exact value if a row count query was performed and the result exceeded the progressiveLoadingThreshold causing progressiveLoading to be enabled.

    Developers may also write custom dataSource logic to populate this attribute if desired

    Returns:
      Current estimatedTotalRows value. Default value is null

  - ### getFromOfflineCache

    public Boolean getFromOfflineCache()
    If set, indicates that this response came from the offline cache, not the server. This flag is the only reliable way for application code to determine the source of a response.
    Returns:
      Current fromOfflineCache value. Default value is null

  - ### getHttpHeaders

    public Map getHttpHeaders()
    HTTP headers returned by the server as a map from header name to header value.

    Headers are available only when the default `RPCTransport` "xmlHttpRequest" is in use, and browsers may limit access to headers for cross-domain requests or in other security-sensitive scenarios.

    Overrides:
      `getHttpHeaders` in class `RPCResponse`
    Returns:
      Current httpHeaders value. Default value is null

  - ### getInvalidateCache

    public Boolean getInvalidateCache()
    Optional flag that can be set by the server to force ResultSets to drop any caches of records from the DataSource that was the target of the operation.
    Returns:
      Current invalidateCache value. Default value is null
    See Also:
      - `Automatic Cache Synchronization`

  - ### getOfflineTimestamp

    public Integer getOfflineTimestamp()
    Timestamp (millisecond value) to indicate when this dsResponse was cached in `offline storage`. Not applicable if the response has never been stored offline.
    Returns:
      Current offlineTimestamp value. Default value is null

  - ### setOperationId

    public DSResponse setOperationId(String operationId)
    The operation ID of the request corresponding to this DSResponse.
    Parameters:
      `operationId` - New operationId value. Default value is null
    Returns:
      `DSResponse` instance, for chaining setter calls

  - ### getOperationId

    public String getOperationId()
    The operation ID of the request corresponding to this DSResponse.
    Returns:
      Current operationId value. Default value is null

  - ### setOperationType

    public DSResponse setOperationType(DSOperationType operationType)
    The operation type of the request corresponding to this DSResponse.
    Parameters:
      `operationType` - New operationType value. Default value is null
    Returns:
      `DSResponse` instance, for chaining setter calls

  - ### getOperationType

    public DSOperationType getOperationType()
    The operation type of the request corresponding to this DSResponse.
    Returns:
      Current operationType value. Default value is null

  - ### getProgressiveLoading

    public Boolean getProgressiveLoading()
    This attribute may be set to indicate that `progressive loading was enabled`, for a paged data fetch, and as such the `total row count` is not guaranteed to be accurate. Client side code, including the `ResultSet.lengthIsProgressive()` method may make use of this attribute.

    The Smart GWT server will automatically set this property whenever progressive loading was enabled for the request.

    Returns:
      Current progressiveLoading value. Default value is null

  - ### setQueueStatus

    public DSResponse setQueueStatus(int queueStatus)
    An extra property of each DSResponse to a queued request that indicates whether the queue as a whole succeeded. A queueStatus of `STATUS_SUCCESS`, or 0, indicates that the queue succeeded whereas a queueStatus of `STATUS_FAILURE`, or -1, indicates that the queue failed.

    For example, if two "update" requests are sent in a queue and the first succeeded, but the second failed validation, then both DSResponses' queueStatus would be -1, but the `status` of the first would be `STATUS_SUCCESS` and the status of the second would be an error code such as `STATUS_VALIDATION_ERROR`.

    Parameters:
      `queueStatus` - New queueStatus value. Default value is see below
    Returns:
      `DSResponse` instance, for chaining setter calls
    See Also:
      - `Error Handling Overview`

  - ### getQueueStatus

    public int getQueueStatus()
    An extra property of each DSResponse to a queued request that indicates whether the queue as a whole succeeded. A queueStatus of `STATUS_SUCCESS`, or 0, indicates that the queue succeeded whereas a queueStatus of `STATUS_FAILURE`, or -1, indicates that the queue failed.

    For example, if two "update" requests are sent in a queue and the first succeeded, but the second failed validation, then both DSResponses' queueStatus would be -1, but the `status` of the first would be `STATUS_SUCCESS` and the status of the second would be an error code such as `STATUS_VALIDATION_ERROR`.

    Returns:
      Current queueStatus value. Default value is see below
    See Also:
      - `Error Handling Overview`

  - ### getStartRow

    public Integer getStartRow()
    Starting row of returned server results, when using paged result fetching

    Note that startRow and endRow are zero-based, inclusive at the beginning and exclusive at the end (like substring), so startRow: 0, endRow: 2 is a response containing two records.

    Returns:
      Current startRow value. Default value is null

  - ### setStatus

    public DSResponse setStatus(int status)
    Same meaning as `RPCResponse.status`, except DSResponses have additional error codes, such as `validation failure`.
    Overrides:
      `setStatus` in class `RPCResponse`
    Parameters:
      `status` - New status value. Default value is see below
    Returns:
      `DSResponse` instance, for chaining setter calls
    See Also:
      - `Error Handling Overview`

  - ### getStatus

    public int getStatus()
    Same meaning as `RPCResponse.status`, except DSResponses have additional error codes, such as `validation failure`.
    Overrides:
      `getStatus` in class `RPCResponse`
    Returns:
      Current status value. Default value is see below
    See Also:
      - `Error Handling Overview`

  - ### getTotalRows

    public Integer getTotalRows()
    Total number of rows available from the server that match the current filter criteria, when using paged result fetching.
    Returns:
      Current totalRows value. Default value is null

  - ### setStartRow

    public void setStartRow(Integer startRow)
    Starting row of returned server results, when using paged result fetching

    Note that startRow and endRow are zero-based - the first record is row zero.

    Parameters:
      `startRow` - the start row

  - ### setEndRow

    public void setEndRow(Integer endRow)
    End row of returned server results, when using paged result fetching

    Note that startRow and endRow are zero-based - the first record is row zero.

    Parameters:
      `endRow` - the end row

  - ### setTotalRows

    public void setTotalRows(Integer totalRows)
    Total number of rows available from the server that match the current filter criteria, when using paged result fetching.
    Parameters:
      `totalRows` - total rows

  - ### setInvalidateCache

    public void setInvalidateCache(Boolean invalidateCache)
    Optional flag that can be set by the server to force ResultSets to drop any caches of records from the DataSource that was the target of the operation.
    Parameters:
      `invalidateCache` - invalidateCache

  - ### setErrors

    public void setErrors(Map errors)
    Server-side validation errors for an attempted "update" or "add" operation, as a JS Object where each property name is a field name from the record and each property value is an error message to be shown to the user. For example:

             dsResponse.errors = {         userId : "A user with this userId already exists",
         orderId : "No Order with ID '6A18294' exists"     }

    The Java API DSResponse.addError(fieldName, errorMessage) is used to send server-side errors to the client. See the Java Server Reference for details.
    Parameters:
      `errors` - errors map

  - ### setErrors

    public void setErrors(JavaScriptObject errors)
    Server-side validation errors for an attempted "update" or "add" operation, as a JS Object where each property name is a field name from the record and each property value is an error message to be shown to the user. For example:

             dsResponse.errors = {         userId : "A user with this userId already exists",
         orderId : "No Order with ID '6A18294' exists"     }

    The Java API DSResponse.addError(fieldName, errorMessage) is used to send server-side errors to the client. See the Java Server Reference for details.
    Parameters:
      `errors` - errors as JavaScriptObject

  - ### setData

    public void setData(Record... data)
    For "fetch" operations, this is the array of Records fetched. For "update", "add", and "remove" operations, this is typically an array containing a single Record representing the record that was updated, added, or removed.
    Parameters:
      `data` - data Default value is null

  - ### getErrors

    public Map getErrors()
    Server-side validation errors for an attempted "update" or "add" operation, as a JS Object where each property name is a field name from the record and each property value is an error message to be shown to the user. For example:

              {
                userId : ["A user with this userId already exists"],
                orderId : ["Must be a numeric value", "No Order with ID '6A18294' exists"]
              }

    The Java API DSResponse.addError(fieldName, errorMessage) is used to send server-side errors to the client. See the Java Server Reference for details.
    Returns:
      the errors map