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:
    com.google.gwt.event.shared.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 and Description
    `DSResponse()`
    `DSResponse(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `DSResponse(java.lang.String dataSource)`
    `DSResponse(java.lang.String dataSource, DSOperationType operationType)`
    `DSResponse(java.lang.String dataSource, DSOperationType operationType, Record... data)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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.
    `java.lang.String` | `getDataSource()` The DataSource of this DSResponse.
    `java.lang.Integer` | `getEndRow()` End row of returned server results, when using paged result fetching
    `java.util.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.
    `java.lang.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.
    `java.lang.Boolean` | `getFromOfflineCache()` If set, indicates that this response came from the offline cache, not the server.
    `java.util.Map` | `getHttpHeaders()` HTTP headers returned by the server as a map from header name to header value.
    `java.lang.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.
    `java.lang.Integer` | `getOfflineTimestamp()` Timestamp (millisecond value) to indicate when this dsResponse was cached in `offline storage`.
    `java.lang.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(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.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.
    `java.lang.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`.
    `java.lang.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(java.lang.String dataSource)` The DataSource of this DSResponse.
    `void` | `setEndRow(java.lang.Integer endRow)` End row of returned server results, when using paged result fetching
    `void` | `setErrors(com.google.gwt.core.client.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(java.util.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(java.lang.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(java.lang.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(java.lang.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(java.lang.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 Detail

    - #### DSResponse

          public DSResponse()

    - #### DSResponse

          public DSResponse(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### DSResponse

          public DSResponse(java.lang.String dataSource)

    - #### DSResponse

          public DSResponse(java.lang.String dataSource,
                            DSOperationType operationType)

    - #### DSResponse

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

  - ### Method Detail

    - #### getOrCreateRef

          public static DSResponse getOrCreateRef(com.google.gwt.core.client.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(java.lang.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 java.lang.String getDataSource()

      The DataSource of this DSResponse.
      Returns:
        Current dataSource value. Default value is null

    - #### getEndRow

          public java.lang.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 java.lang.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 java.lang.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 java.util.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 java.lang.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 java.lang.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(java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.lang.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(java.util.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(com.google.gwt.core.client.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 java.util.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