Package com.smartgwt.client.data

# Class OperationBinding

java.lang.Object
com.smartgwt.client.core.JsObject
com.smartgwt.client.core.DataClass
com.smartgwt.client.data.OperationBinding

All Implemented Interfaces:
  `HasHandlers`

public class OperationBinding extends DataClass
An operationBinding tells a DataSource how to execute one of the basic DS operations: fetch, add, update, remove. See `DataSource.operationBindings`.

- ## Field Summary

  ### 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
  `OperationBinding()`
  `OperationBinding(JavaScriptObject jsObj)`
  `OperationBinding(DSOperationType operationType, String dataURL)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Boolean`
  `getAllowAdvancedCriteria()`
  This property indicates whether this operation supports AdvancedCriteria.
  `Boolean`
  `getArrayCriteriaForceExact()`
  Operation-level override for the DataSource-level `arrayCriteriaForceExact` flag.
  `String`
  `getBeanClassName()`
  A per-operationBinding setting for beanClassName, otherwise also settable at the top-level DataSource configuration.
  `String`
  `getCallbackParam()`
  Applies only to dataFormat: "json".
  `DSDataFormat`
  `getDataFormat()`
  Format for response data for this operation.
  `DSProtocol`
  `getDataProtocol()`
  Controls the format in which inputs are sent to the dataURL.
  `RPCTransport`
  `getDataTransport()`
  Transport to use for this operation.
  `String`
  `getDataURL()`
  URL to contact to fulfill DSRequests for this operationBinding.
  `Map`
  `getDefaultParams()`
  HTTP parameters that should be submitted with every DSRequest.
  `String`
  `getDescription()`
  An optional description of the operationBinding's behavior.
  `ExportFormat`
  `getExportAs()`
  The format in which the data should be exported.
  `String[]`
  `getExportFields()`
  The list of field-names to export.
  `String`
  `getExportFilename()`
  The name of the file to save the exported data into.
  `boolean`
  `getExportResults()`
  When set, causes the results of the DataSource Operation to be exported to a file, whose name and format are indicated by `exportFilename` and `exportAs` respectively.
  `Boolean`
  `getInvalidateCache()`
  If set, every invocation of this operationBinding will invalidate the local cache, forcing a server visit to refresh the data.
  `String`
  `getLineBreakStyle()`
  The style of line-breaks to use in the exported output.
  `String`
  `getOperationId()`
  Optional operationId if this DataSource supports two or more variants of one of the basic DataSource operations, for instance, a "fetch" that uses full text search and a "fetch" that accepts per-field search criteria.
  `DSOperationType`
  `getOperationType()`
  Which operationType this operationBinding is for.
  `static OperationBinding`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `Boolean`
  `getPreventHTTPCaching()`
  Configures `DataSource.preventHTTPCaching` on a per-operationType basis.
  `String`
  `getRecordName()`
  For an XML DataSource, tagName of the elements to be used as records.
  `String`
  `getRecordXPath()`
  For an XML , JSON or `RestConnector` DataSource, an XPath expression used to retrieve the objects that will become DataSource records.
  `DSRequest`
  `getRequestProperties()`
  Additional properties to pass through to the `DSRequest` created for this operation.
  `String`
  `getRequiredCriterion()`
  A comma-separated list of field names that must be present in criteria / advancedCriteria provided by the caller.
  `DataSource`
  `getResponseDataSchema()`
  Optional schema describing how to extract DataSource records from the XML elements selected.
  `boolean`
  `getSpoofResponses()`
  For a DataSource contacting a `WSDL web service`, setting this flag means the DataSource doesn't actually attempt to contact the server but generates a sample response instead, based on the XML Schema of the response message embedded in the WSDL.
  `boolean`
  `getUseFlatFields()`
  Setting `useFlatFields` on an operationBinding is equivalent to setting `DSRequest.useFlatFields` on all DataSource requests with the same `operationType` as this `operationBinding`.
  `Boolean`
  `getUseHttpProxy()`
  Whether to use the `HttpProxy` servlet to send requests described by this operationBinding.
  `String`
  `getWsOperation()`
  Name of the web service operation that will be invoked in order to execute this DataSource operation.
  `XmlNamespaces`
  `getXmlNamespaces()`
  Optional object declaring namespace prefixes for use in `recordXPath` and `DataSourceField.valueXPath` XPath expressions.
  `OperationBinding`
  `setAllowAdvancedCriteria(Boolean allowAdvancedCriteria)`
  This property indicates whether this operation supports AdvancedCriteria.
  `OperationBinding`
  `setArrayCriteriaForceExact(Boolean arrayCriteriaForceExact)`
  Operation-level override for the DataSource-level `arrayCriteriaForceExact` flag.
  `OperationBinding`
  `setBeanClassName(String beanClassName)`
  A per-operationBinding setting for beanClassName, otherwise also settable at the top-level DataSource configuration.
  `OperationBinding`
  `setCallbackParam(String callbackParam)`
  Applies only to dataFormat: "json".
  `OperationBinding`
  `setDataFormat(DSDataFormat dataFormat)`
  Format for response data for this operation.
  `OperationBinding`
  `setDataProtocol(DSProtocol dataProtocol)`
  Controls the format in which inputs are sent to the dataURL.
  `OperationBinding`
  `setDataTransport(RPCTransport dataTransport)`
  Transport to use for this operation.
  `OperationBinding`
  `setDataURL(String dataURL)`
  URL to contact to fulfill DSRequests for this operationBinding.
  `OperationBinding`
  `setDefaultParams(Map defaultParams)`
  HTTP parameters that should be submitted with every DSRequest.
  `OperationBinding`
  `setDescription(String description)`
  An optional description of the operationBinding's behavior.
  `OperationBinding`
  `setExportAs(ExportFormat exportAs)`
  The format in which the data should be exported.
  `OperationBinding`
  `setExportFields(String... exportFields)`
  The list of field-names to export.
  `OperationBinding`
  `setExportFilename(String exportFilename)`
  The name of the file to save the exported data into.
  `OperationBinding`
  `setExportResults(boolean exportResults)`
  When set, causes the results of the DataSource Operation to be exported to a file, whose name and format are indicated by `exportFilename` and `exportAs` respectively.
  `OperationBinding`
  `setInvalidateCache(Boolean invalidateCache)`
  If set, every invocation of this operationBinding will invalidate the local cache, forcing a server visit to refresh the data.
  `OperationBinding`
  `setLineBreakStyle(String lineBreakStyle)`
  The style of line-breaks to use in the exported output.
  `OperationBinding`
  `setOperationId(String operationId)`
  Optional operationId if this DataSource supports two or more variants of one of the basic DataSource operations, for instance, a "fetch" that uses full text search and a "fetch" that accepts per-field search criteria.
  `OperationBinding`
  `setOperationType(DSOperationType operationType)`
  Which operationType this operationBinding is for.
  `OperationBinding`
  `setPreventHTTPCaching(Boolean preventHTTPCaching)`
  Configures `DataSource.preventHTTPCaching` on a per-operationType basis.
  `OperationBinding`
  `setRecordName(String recordName)`
  For an XML DataSource, tagName of the elements to be used as records.
  `OperationBinding`
  `setRecordXPath(String recordXPath)`
  For an XML , JSON or `RestConnector` DataSource, an XPath expression used to retrieve the objects that will become DataSource records.
  `OperationBinding`
  `setRequestProperties(DSRequest requestProperties)`
  Additional properties to pass through to the `DSRequest` created for this operation.
  `OperationBinding`
  `setRequiredCriterion(String requiredCriterion)`
  A comma-separated list of field names that must be present in criteria / advancedCriteria provided by the caller.
  `OperationBinding`
  `setResponseDataSchema(DataSource responseDataSchema)`
  Optional schema describing how to extract DataSource records from the XML elements selected.
  `OperationBinding`
  `setSpoofResponses(boolean spoofResponses)`
  For a DataSource contacting a `WSDL web service`, setting this flag means the DataSource doesn't actually attempt to contact the server but generates a sample response instead, based on the XML Schema of the response message embedded in the WSDL.
  `OperationBinding`
  `setUseFlatFields(boolean useFlatFields)`
  Setting `useFlatFields` on an operationBinding is equivalent to setting `DSRequest.useFlatFields` on all DataSource requests with the same `operationType` as this `operationBinding`.
  `OperationBinding`
  `setUseHttpProxy(Boolean useHttpProxy)`
  Whether to use the `HttpProxy` servlet to send requests described by this operationBinding.
  `OperationBinding`
  `setWsOperation(String wsOperation)`
  Name of the web service operation that will be invoked in order to execute this DataSource operation.
  `OperationBinding`
  `setXmlNamespaces(XmlNamespaces xmlNamespaces)`
  Optional object declaring namespace prefixes for use in `recordXPath` and `DataSourceField.valueXPath` XPath expressions.

  ### 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

  - ### OperationBinding

    public OperationBinding()

  - ### OperationBinding

    public OperationBinding(JavaScriptObject jsObj)

  - ### OperationBinding

    public OperationBinding(DSOperationType operationType, String dataURL)

- ## Method Details

  - ### getOrCreateRef

    public static OperationBinding getOrCreateRef(JavaScriptObject jsObj)

  - ### setAllowAdvancedCriteria

    public OperationBinding setAllowAdvancedCriteria(Boolean allowAdvancedCriteria)
    This property indicates whether this operation supports AdvancedCriteria. This setting overrides `DataSource.allowAdvancedCriteria` for this operation only. See `DataSource.supportsAdvancedCriteria()` for further information.

    NOTE: If you specify this property in a DataSource descriptor (`.ds.xml` file), it is enforced on the server. This means that if you run a request containing AdvancedCriteria against an OperationBinding that advertises itself as `allowAdvancedCriteria:false`, it will be rejected.

    Note : This is an advanced setting

    Parameters:
      `allowAdvancedCriteria` - New allowAdvancedCriteria value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `DataSource.setAllowAdvancedCriteria(java.lang.Boolean)`

  - ### getAllowAdvancedCriteria

    public Boolean getAllowAdvancedCriteria()
    This property indicates whether this operation supports AdvancedCriteria. This setting overrides `DataSource.allowAdvancedCriteria` for this operation only. See `DataSource.supportsAdvancedCriteria()` for further information.

    NOTE: If you specify this property in a DataSource descriptor (`.ds.xml` file), it is enforced on the server. This means that if you run a request containing AdvancedCriteria against an OperationBinding that advertises itself as `allowAdvancedCriteria:false`, it will be rejected.

    Returns:
      Current allowAdvancedCriteria value. Default value is null
    See Also:
      - `DataSource.getAllowAdvancedCriteria()`

  - ### setArrayCriteriaForceExact

    public OperationBinding setArrayCriteriaForceExact(Boolean arrayCriteriaForceExact)
    Operation-level override for the DataSource-level `arrayCriteriaForceExact` flag. See the documentation for that flag for details.
    Parameters:
      `arrayCriteriaForceExact` - New arrayCriteriaForceExact value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Server DataSource Integration`

  - ### getArrayCriteriaForceExact

    public Boolean getArrayCriteriaForceExact()
    Operation-level override for the DataSource-level `arrayCriteriaForceExact` flag. See the documentation for that flag for details.
    Returns:
      Current arrayCriteriaForceExact value. Default value is null
    See Also:
      - `Server DataSource Integration`

  - ### setBeanClassName

    public OperationBinding setBeanClassName(String beanClassName)
    A per-operationBinding setting for beanClassName, otherwise also settable at the top-level DataSource configuration.
    Parameters:
      `beanClassName` - New beanClassName value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `DataSource.beanClassName`
      - `Client-side Data Integration`

  - ### getBeanClassName

    public String getBeanClassName()
    A per-operationBinding setting for beanClassName, otherwise also settable at the top-level DataSource configuration.
    Returns:
      Current beanClassName value. Default value is null
    See Also:
      - `DataSource.beanClassName`
      - `Client-side Data Integration`

  - ### setCallbackParam

    public OperationBinding setCallbackParam(String callbackParam)
    Applies only to dataFormat: "json". Specifies the name of the query parameter that tells your JSON service what function to call as part of the response for this operation.

    Typically set once for the DataSource as a whole via `DataSource.callbackParam`.

    Parameters:
      `callbackParam` - New callbackParam value. Default value is "callback"
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `DataSource.setCallbackParam(java.lang.String)`
      - `Client-side Data Integration`

  - ### getCallbackParam

    public String getCallbackParam()
    Applies only to dataFormat: "json". Specifies the name of the query parameter that tells your JSON service what function to call as part of the response for this operation.

    Typically set once for the DataSource as a whole via `DataSource.callbackParam`.

    Returns:
      Current callbackParam value. Default value is "callback"
    See Also:
      - `DataSource.getCallbackParam()`
      - `Client-side Data Integration`

  - ### setDataFormat

    public OperationBinding setDataFormat(DSDataFormat dataFormat)
    Format for response data for this operation.

    Typically set once for the DataSource as a whole via `DataSource.dataFormat`.

    Parameters:
      `dataFormat` - New dataFormat value. Default value is "iscServer"
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getDataFormat

    public DSDataFormat getDataFormat()
    Format for response data for this operation.

    Typically set once for the DataSource as a whole via `DataSource.dataFormat`.

    Returns:
      Current dataFormat value. Default value is "iscServer"
    See Also:
      - `Client-side Data Integration`

  - ### setDataProtocol

    public OperationBinding setDataProtocol(DSProtocol dataProtocol)
    Controls the format in which inputs are sent to the dataURL.

    When a DataSource operation such as fetchData() is invoked on this DataSource or a component bound to this DataSource, the data passed to the operation, if any, will be sent to the `dataURL`. The `dataProtocol` property controls the format in which the data is sent: SOAP message, HTTP GET or POST of parameters, etc.

    The `dataProtocol` property need not be set for a DataSource with a WebService ( `DataSource.serviceNamespace` is set), in this case, SOAP messaging is used by default.

    Developers may completely bypass the Smart GWT comm system by setting dataProtocol to `"clientCustom"`. In this case Smart GWT will not attempt to send any data to the server after calling `DataSource.transformRequest()`. Instead the developer is expected to implement `transformRequest()` such that it performs the necessary data action outside of Smart GWT, and then calls `DataSource.processResponse()`, passing in the `DSRequest.requestId` and an appropriate set of DSResponse properties to indicate the result of the action.

    NOTE: when `dataFormat` is "iscServer", `dataProtocol` is not consulted. Instead, Smart GWT uses a proprietary wire format to communicate with the Smart GWT server, and the server-side DSRequest and DSResponse objects should be used to access request data and form responses.

    Parameters:
      `dataProtocol` - New dataProtocol value. Default value is "getParams"
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `DSProtocol`
      - `Client-side Data Integration`

  - ### getDataProtocol

    public DSProtocol getDataProtocol()
    Controls the format in which inputs are sent to the dataURL.

    When a DataSource operation such as fetchData() is invoked on this DataSource or a component bound to this DataSource, the data passed to the operation, if any, will be sent to the `dataURL`. The `dataProtocol` property controls the format in which the data is sent: SOAP message, HTTP GET or POST of parameters, etc.

    The `dataProtocol` property need not be set for a DataSource with a WebService ( `DataSource.serviceNamespace` is set), in this case, SOAP messaging is used by default.

    Developers may completely bypass the Smart GWT comm system by setting dataProtocol to `"clientCustom"`. In this case Smart GWT will not attempt to send any data to the server after calling `DataSource.transformRequest()`. Instead the developer is expected to implement `transformRequest()` such that it performs the necessary data action outside of Smart GWT, and then calls `DataSource.processResponse()`, passing in the `DSRequest.requestId` and an appropriate set of DSResponse properties to indicate the result of the action.

    NOTE: when `dataFormat` is "iscServer", `dataProtocol` is not consulted. Instead, Smart GWT uses a proprietary wire format to communicate with the Smart GWT server, and the server-side DSRequest and DSResponse objects should be used to access request data and form responses.

    Returns:
      Current dataProtocol value. Default value is "getParams"
    See Also:
      - `DSProtocol`
      - `Client-side Data Integration`

  - ### setDataTransport

    public OperationBinding setDataTransport(RPCTransport dataTransport)
    Transport to use for this operation. Defaults to `DataSource.dataTransport`, which in turn defaults to `defaultTransport`. This would typically only be set to enable "scriptInclude" transport for contacting `JSON` web services hosted on servers other than the origin server.

    When using the "scriptInclude" transport, be sure to set `DataSource.callbackParam` or `callbackParam` to match the name of the query parameter name expected by your JSON service provider.

    Parameters:
      `dataTransport` - New dataTransport value. Default value is RPCManager.defaultTransport
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `RPCTransport`
      - `DataSource.setCallbackParam(java.lang.String)`
      - `Client-side Data Integration`

  - ### getDataTransport

    public RPCTransport getDataTransport()
    Transport to use for this operation. Defaults to `DataSource.dataTransport`, which in turn defaults to `defaultTransport`. This would typically only be set to enable "scriptInclude" transport for contacting `JSON` web services hosted on servers other than the origin server.

    When using the "scriptInclude" transport, be sure to set `DataSource.callbackParam` or `callbackParam` to match the name of the query parameter name expected by your JSON service provider.

    Returns:
      Current dataTransport value. Default value is RPCManager.defaultTransport
    See Also:
      - `RPCTransport`
      - `DataSource.getCallbackParam()`
      - `Client-side Data Integration`

  - ### setDataURL

    public OperationBinding setDataURL(String dataURL)
    URL to contact to fulfill DSRequests for this operationBinding.

    `dataURL` is typically set as `DataSource.dataURL` rather than on each individual operationBinding. However, when using `dataURL` to configure the server side of a `RestConnector`, it is common to set `dataURL` at the operationBinding level, as described in the `DataSource-level dataURL` documentation.

    `dataURL` can be omitted for a DataSource using a Web Service (`DataSource.serviceNamespace` is set).

    Parameters:
      `dataURL` - New dataURL value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `URL`
      - `Client-side Data Integration`

  - ### getDataURL

    public String getDataURL()
    URL to contact to fulfill DSRequests for this operationBinding.

    `dataURL` is typically set as `DataSource.dataURL` rather than on each individual operationBinding. However, when using `dataURL` to configure the server side of a `RestConnector`, it is common to set `dataURL` at the operationBinding level, as described in the `DataSource-level dataURL` documentation.

    `dataURL` can be omitted for a DataSource using a Web Service (`DataSource.serviceNamespace` is set).

    Returns:
      Current dataURL value. Default value is null
    See Also:
      - `URL`
      - `Client-side Data Integration`

  - ### setDefaultParams

    public OperationBinding setDefaultParams(Map defaultParams)
    HTTP parameters that should be submitted with every DSRequest.

    Useful for authenticated services that require a sessionId with every request.

    Can be set for all operations of a given DataSource as DataSource.defaultParams.

    Note : This is an advanced setting

    Parameters:
      `defaultParams` - New defaultParams value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getDefaultParams

    public Map getDefaultParams()
    HTTP parameters that should be submitted with every DSRequest.

    Useful for authenticated services that require a sessionId with every request.

    Can be set for all operations of a given DataSource as DataSource.defaultParams.

    Returns:
      Current defaultParams value. Default value is null
    See Also:
      - `Client-side Data Integration`

  - ### setDescription

    public OperationBinding setDescription(String description)
    An optional description of the operationBinding's behavior. Not automatically exposed on any component, but useful for developer documentation, and as such is included on any `OpenAPI specification` generated by the framework. Markdown is a commonly used syntax, but you may also embed HTML content in a CDATA tag.
    Parameters:
      `description` - New description value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls

  - ### getDescription

    public String getDescription()
    An optional description of the operationBinding's behavior. Not automatically exposed on any component, but useful for developer documentation, and as such is included on any `OpenAPI specification` generated by the framework. Markdown is a commonly used syntax, but you may also embed HTML content in a CDATA tag.
    Returns:
      Current description value. Default value is null

  - ### setExportAs

    public OperationBinding setExportAs(ExportFormat exportAs)
    The format in which the data should be exported. Default is "csv". See `ExportFormat` for more information.
    Parameters:
      `exportAs` - New exportAs value. Default value is "csv"
    Returns:
      `OperationBinding` instance, for chaining setter calls

  - ### getExportAs

    public ExportFormat getExportAs()
    The format in which the data should be exported. Default is "csv". See `ExportFormat` for more information.
    Returns:
      Current exportAs value. Default value is "csv"

  - ### setExportFields

    public OperationBinding setExportFields(String... exportFields)
    The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

    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.

    Parameters:
      `exportFields` - New exportFields value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls

  - ### getExportFields

    public String[] getExportFields()
    The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

    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.

    Returns:
      Current exportFields value. Default value is null

  - ### setExportFilename

    public OperationBinding setExportFilename(String exportFilename)
    The name of the file to save the exported data into.
    Parameters:
      `exportFilename` - New exportFilename value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls

  - ### getExportFilename

    public String getExportFilename()
    The name of the file to save the exported data into.
    Returns:
      Current exportFilename value. Default value is null

  - ### setExportResults

    public OperationBinding setExportResults(boolean exportResults)
    When set, causes the results of the DataSource Operation to be exported to a file, whose name and format are indicated by `exportFilename` and `exportAs` respectively. When no exportFilename is provided, the default is Results and the default value of exportAs is csv. Once the Operation completes, `DSRequest.exportDisplay` specifies whether the exported data will 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.

    The export field-list can also be configured, see `DSRequest.exportFields`.

    You can also configure the style of line-breaks to use when generating the output. See `LineBreakStyle` for more information.

    As well as setting this and other properties on the `OperationBinding`, Exports can be initiated in two other ways. You can set properties on the dsRequest by passing requestProperties into `DataSource.exportData()`. Note that this method does not support exporting to JSON format (see this post for more detail). Additionally, custom server code may set export-related properties on the `DSResponse`.

    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"

    Parameters:
      `exportResults` - New exportResults value. Default value is false
    Returns:
      `OperationBinding` instance, for chaining setter calls

  - ### getExportResults

    public boolean getExportResults()
    When set, causes the results of the DataSource Operation to be exported to a file, whose name and format are indicated by `exportFilename` and `exportAs` respectively. When no exportFilename is provided, the default is Results and the default value of exportAs is csv. Once the Operation completes, `DSRequest.exportDisplay` specifies whether the exported data will 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.

    The export field-list can also be configured, see `DSRequest.exportFields`.

    You can also configure the style of line-breaks to use when generating the output. See `LineBreakStyle` for more information.

    As well as setting this and other properties on the `OperationBinding`, Exports can be initiated in two other ways. You can set properties on the dsRequest by passing requestProperties into `DataSource.exportData()`. Note that this method does not support exporting to JSON format (see this post for more detail). Additionally, custom server code may set export-related properties on the `DSResponse`.

    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"

    Returns:
      Current exportResults value. Default value is false

  - ### setInvalidateCache

    public OperationBinding setInvalidateCache(Boolean invalidateCache)
    If set, every invocation of this operationBinding will invalidate the local cache, forcing a server visit to refresh the data.
    Parameters:
      `invalidateCache` - New invalidateCache value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls

  - ### getInvalidateCache

    public Boolean getInvalidateCache()
    If set, every invocation of this operationBinding will invalidate the local cache, forcing a server visit to refresh the data.
    Returns:
      Current invalidateCache value. Default value is null

  - ### setLineBreakStyle

    public OperationBinding setLineBreakStyle(String lineBreakStyle)
    The style of line-breaks to use in the exported output. See `LineBreakStyle` for more information.
    Parameters:
      `lineBreakStyle` - New lineBreakStyle value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls

  - ### getLineBreakStyle

    public String getLineBreakStyle()
    The style of line-breaks to use in the exported output. See `LineBreakStyle` for more information.
    Returns:
      Current lineBreakStyle value. Default value is null

  - ### setOperationId

    public OperationBinding setOperationId(String operationId)
    Optional operationId if this DataSource supports two or more variants of one of the basic DataSource operations, for instance, a "fetch" that uses full text search and a "fetch" that accepts per-field search criteria. See `DSRequest.operationId` for usage.
    Parameters:
      `operationId` - New operationId value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getOperationId

    public String getOperationId()
    Optional operationId if this DataSource supports two or more variants of one of the basic DataSource operations, for instance, a "fetch" that uses full text search and a "fetch" that accepts per-field search criteria. See `DSRequest.operationId` for usage.
    Returns:
      Current operationId value. Default value is null
    See Also:
      - `Client-side Data Integration`

  - ### setOperationType

    public OperationBinding setOperationType(DSOperationType operationType)
    Which operationType this operationBinding is for. This property is only settable on an operationBinding, not a DataSource as a whole.
    Parameters:
      `operationType` - New operationType value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getOperationType

    public DSOperationType getOperationType()
    Which operationType this operationBinding is for. This property is only settable on an operationBinding, not a DataSource as a whole.
    Returns:
      Current operationType value. Default value is null
    See Also:
      - `Client-side Data Integration`

  - ### setPreventHTTPCaching

    public OperationBinding setPreventHTTPCaching(Boolean preventHTTPCaching)
    Configures `DataSource.preventHTTPCaching` on a per-operationType basis.
    Parameters:
      `preventHTTPCaching` - New preventHTTPCaching value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls

  - ### getPreventHTTPCaching

    public Boolean getPreventHTTPCaching()
    Configures `DataSource.preventHTTPCaching` on a per-operationType basis.
    Returns:
      Current preventHTTPCaching value. Default value is null

  - ### setRecordName

    public OperationBinding setRecordName(String recordName)
    For an XML DataSource, tagName of the elements to be used as records.

    This is a simple alternative to `recordXPath` when the elements to be used as records all share a tagName.

    When a DataSource has a WebService, `recordName` can also be set to the name of any `complexType` declared within the WebService's WSDL file.

    Parameters:
      `recordName` - New recordName value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getRecordName

    public String getRecordName()
    For an XML DataSource, tagName of the elements to be used as records.

    This is a simple alternative to `recordXPath` when the elements to be used as records all share a tagName.

    When a DataSource has a WebService, `recordName` can also be set to the name of any `complexType` declared within the WebService's WSDL file.

    Returns:
      Current recordName value. Default value is null
    See Also:
      - `Client-side Data Integration`

  - ### setRecordXPath

    public OperationBinding setRecordXPath(String recordXPath)
    For an XML , JSON or `RestConnector` DataSource, an XPath expression used to retrieve the objects that will become DataSource records.

    For example, an "ItemSearch" web service might return a "Results" structure containing metadata along with the set of Items that one might want to display in a grid. An XPath expression like "/Results/Items" could be used to retrieve just the Items, which would then become DataSource records.

    For a JSON web service, the `recordXPath` is applied to the returned JSON data via `XMLTools.selectObjects()`. Only limited XPath syntax is allowed; see `selectObjects()` for details.

    For processing XML results, see `xmlNamespaces` for information on the namespaces that are available in this XPath expression. If you are contacting a WSDL web service, note that `recordName` is an alternative way to specify which records should be selected by their tagName or type, and this is usually simpler.

    To learn about XPath, try the following search: http://www.google.com/search?q=xpath+tutorial

    Parameters:
      `recordXPath` - New recordXPath value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `XPathExpression`
      - `Client-side Data Integration`

  - ### getRecordXPath

    public String getRecordXPath()
    For an XML , JSON or `RestConnector` DataSource, an XPath expression used to retrieve the objects that will become DataSource records.

    For example, an "ItemSearch" web service might return a "Results" structure containing metadata along with the set of Items that one might want to display in a grid. An XPath expression like "/Results/Items" could be used to retrieve just the Items, which would then become DataSource records.

    For a JSON web service, the `recordXPath` is applied to the returned JSON data via `XMLTools.selectObjects()`. Only limited XPath syntax is allowed; see `selectObjects()` for details.

    For processing XML results, see `xmlNamespaces` for information on the namespaces that are available in this XPath expression. If you are contacting a WSDL web service, note that `recordName` is an alternative way to specify which records should be selected by their tagName or type, and this is usually simpler.

    To learn about XPath, try the following search: http://www.google.com/search?q=xpath+tutorial

    Returns:
      Current recordXPath value. Default value is null
    See Also:
      - `XPathExpression`
      - `Client-side Data Integration`

  - ### setRequestProperties

    public OperationBinding setRequestProperties(DSRequest requestProperties)
    Additional properties to pass through to the `DSRequest` created for this operation. Note that these will be cumulative with and will override on a per-property basis any properties set via `DataSource.requestProperties`.

    These properties are applied before `DataSource.transformRequest()` is called.

    Parameters:
      `requestProperties` - New requestProperties value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `DSRequest`
      - `DataSource.setRequestProperties(com.smartgwt.client.data.DSRequest)`
      - `Server DataSource Integration`

  - ### getRequestProperties

    public DSRequest getRequestProperties()
    Additional properties to pass through to the `DSRequest` created for this operation. Note that these will be cumulative with and will override on a per-property basis any properties set via `DataSource.requestProperties`.

    These properties are applied before `DataSource.transformRequest()` is called.

    Returns:
      Current requestProperties value. Default value is null
    See Also:
      - `DSRequest`
      - `DataSource.getRequestProperties()`
      - `Server DataSource Integration`

  - ### setRequiredCriterion

    public OperationBinding setRequiredCriterion(String requiredCriterion)
    A comma-separated list of field names that must be present in criteria / advancedCriteria provided by the caller. Failure to provide any one of these will yield a `STATUS_CRITERIA_REQUIRED_ERROR` from the server.
    Parameters:
      `requiredCriterion` - New requiredCriterion value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`
      - Required Criteria Example

  - ### getRequiredCriterion

    public String getRequiredCriterion()
    A comma-separated list of field names that must be present in criteria / advancedCriteria provided by the caller. Failure to provide any one of these will yield a `STATUS_CRITERIA_REQUIRED_ERROR` from the server.
    Returns:
      Current requiredCriterion value. Default value is null
    See Also:
      - `Client-side Data Integration`
      - Required Criteria Example

  - ### setResponseDataSchema

    public OperationBinding setResponseDataSchema(DataSource responseDataSchema)
    Optional schema describing how to extract DataSource records from the XML elements selected.

    Once a set of XML elements have been selected via `recordXPath` or `recordName`, those elements are normally transformed to JavaScript objects using the `fields` of the DataSource that owns the operationBinding. A `responseDataSchema` can be specified instead if the XML differs in some way between different DataSource operations, such that different values for `field.valueXPath` may be necessary to extract the same DataSource record from slightly different XML structures.

    Note : This is an advanced setting

    Parameters:
      `responseDataSchema` - New responseDataSchema value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getResponseDataSchema

    public DataSource getResponseDataSchema()
    Optional schema describing how to extract DataSource records from the XML elements selected.

    Once a set of XML elements have been selected via `recordXPath` or `recordName`, those elements are normally transformed to JavaScript objects using the `fields` of the DataSource that owns the operationBinding. A `responseDataSchema` can be specified instead if the XML differs in some way between different DataSource operations, such that different values for `field.valueXPath` may be necessary to extract the same DataSource record from slightly different XML structures.

    Returns:
      Current responseDataSchema value. Default value is null
    See Also:
      - `Client-side Data Integration`

  - ### setSpoofResponses

    public OperationBinding setSpoofResponses(boolean spoofResponses)
    For a DataSource contacting a `WSDL web service`, setting this flag means the DataSource doesn't actually attempt to contact the server but generates a sample response instead, based on the XML Schema of the response message embedded in the WSDL.

    The spoofed response will include all complexType elements and will fill in appropriate values by type for all simpleType elements, although the spoofed data will not conform to all xs:restriction declarations (eg xs:pattern).

    Note that if your WSDL does not fully describe the response format (some WSDL services just have a placeholder <xs:any> element), Smart GWT can only produce a partial response. To use a hand-generated sample response, just save an XML file to disk and use the `dataURL` setting to point to it.

    Parameters:
      `spoofResponses` - New spoofResponses value. Default value is false
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getSpoofResponses

    public boolean getSpoofResponses()
    For a DataSource contacting a `WSDL web service`, setting this flag means the DataSource doesn't actually attempt to contact the server but generates a sample response instead, based on the XML Schema of the response message embedded in the WSDL.

    The spoofed response will include all complexType elements and will fill in appropriate values by type for all simpleType elements, although the spoofed data will not conform to all xs:restriction declarations (eg xs:pattern).

    Note that if your WSDL does not fully describe the response format (some WSDL services just have a placeholder <xs:any> element), Smart GWT can only produce a partial response. To use a hand-generated sample response, just save an XML file to disk and use the `dataURL` setting to point to it.

    Returns:
      Current spoofResponses value. Default value is false
    See Also:
      - `Client-side Data Integration`

  - ### setUseFlatFields

    public OperationBinding setUseFlatFields(boolean useFlatFields)
    Setting `useFlatFields` on an operationBinding is equivalent to setting `DSRequest.useFlatFields` on all DataSource requests with the same `operationType` as this `operationBinding`.

    Typical usage is to combine operationBinding.useFlatFields with `searchForm.useFlatFields`, with the `SearchForm` bound to the `input message` of the web service operation set as `wsOperation`. This allows gratuitous nesting to be consistently bypassed in both the user presentation and in the actual XML messaging.

    Note that `useFlatFields` is not generally recommended for use with 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 available in data binding, and only the first field will be populated in the generated XML message.

    Parameters:
      `useFlatFields` - New useFlatFields value. Default value is false
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getUseFlatFields

    public boolean getUseFlatFields()
    Setting `useFlatFields` on an operationBinding is equivalent to setting `DSRequest.useFlatFields` on all DataSource requests with the same `operationType` as this `operationBinding`.

    Typical usage is to combine operationBinding.useFlatFields with `searchForm.useFlatFields`, with the `SearchForm` bound to the `input message` of the web service operation set as `wsOperation`. This allows gratuitous nesting to be consistently bypassed in both the user presentation and in the actual XML messaging.

    Note that `useFlatFields` is not generally recommended for use with 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 available in data binding, and only the first field will be populated in the generated XML message.

    Returns:
      Current useFlatFields value. Default value is false
    See Also:
      - `Client-side Data Integration`

  - ### setUseHttpProxy

    public OperationBinding setUseHttpProxy(Boolean useHttpProxy)
    Whether to use the `HttpProxy` servlet to send requests described by this operationBinding. If unset, automatically detects whether using the HttpProxy is necessary based on the same-origin policy.

    Valid only with `dataProtocol` settings other than ISCServer.

    Parameters:
      `useHttpProxy` - New useHttpProxy value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getUseHttpProxy

    public Boolean getUseHttpProxy()
    Whether to use the `HttpProxy` servlet to send requests described by this operationBinding. If unset, automatically detects whether using the HttpProxy is necessary based on the same-origin policy.

    Valid only with `dataProtocol` settings other than ISCServer.

    Returns:
      Current useHttpProxy value. Default value is null
    See Also:
      - `Client-side Data Integration`

  - ### setWsOperation

    public OperationBinding setWsOperation(String wsOperation)
    Name of the web service operation that will be invoked in order to execute this DataSource operation.

    Valid only for a DataSource that has a WebService (`DataSource.serviceNamespace` is set). Otherwise, use `dataURL`.

    Setting `wsOperation` means that `DSRequest.data` will be serialized as the request message for the specified web service operation, with namespacing and soap encoding handled automatically. See `DataSource.transformRequest()` for how to customize what data is sent to the server.

    Parameters:
      `wsOperation` - New wsOperation value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`

  - ### getWsOperation

    public String getWsOperation()
    Name of the web service operation that will be invoked in order to execute this DataSource operation.

    Valid only for a DataSource that has a WebService (`DataSource.serviceNamespace` is set). Otherwise, use `dataURL`.

    Setting `wsOperation` means that `DSRequest.data` will be serialized as the request message for the specified web service operation, with namespacing and soap encoding handled automatically. See `DataSource.transformRequest()` for how to customize what data is sent to the server.

    Returns:
      Current wsOperation value. Default value is null
    See Also:
      - `Client-side Data Integration`

  - ### setXmlNamespaces

    public OperationBinding setXmlNamespaces(XmlNamespaces xmlNamespaces)
    Optional object declaring namespace prefixes for use in `recordXPath` and `DataSourceField.valueXPath` XPath expressions.

    `xmlNamespaces` should be specified as a mapping from namespace prefix to namespace URI, for example:

             xmlNamespaces : {
                 az : "http://webservices.amazon.com/AWSECommerceService/2005-03-23"
             }

    By default, all namespaces declared on the document element (outermost element of the response) are made available with the prefix used in the document itself.

    Then, for non-WSDL-described XML results, if there is a default namespace on the document element, it is made available with the special prefix "default".

    For results of WSDL-described operations, the prefix "service" means the service namespace, that is, the "targetNamespace" on the <definitions> element from the WSDL file. The prefix "schema" means the namespace of the outermost element in the output message for the current operation. "default" will be the schema namespace if there is one, otherwise the service namespace.

    For basic information on XML Namespaces and their use in XPath, try the following search: http://www.google.com/search?q=XPath+xml+namespaces

    Parameters:
      `xmlNamespaces` - New xmlNamespaces value. Default value is null
    Returns:
      `OperationBinding` instance, for chaining setter calls
    See Also:
      - `Client-side Data Integration`
      - Yahoo! XML Services Example

  - ### getXmlNamespaces

    public XmlNamespaces getXmlNamespaces()
    Optional object declaring namespace prefixes for use in `recordXPath` and `DataSourceField.valueXPath` XPath expressions.

    `xmlNamespaces` should be specified as a mapping from namespace prefix to namespace URI, for example:

             xmlNamespaces : {
                 az : "http://webservices.amazon.com/AWSECommerceService/2005-03-23"
             }

    By default, all namespaces declared on the document element (outermost element of the response) are made available with the prefix used in the document itself.

    Then, for non-WSDL-described XML results, if there is a default namespace on the document element, it is made available with the special prefix "default".

    For results of WSDL-described operations, the prefix "service" means the service namespace, that is, the "targetNamespace" on the <definitions> element from the WSDL file. The prefix "schema" means the namespace of the outermost element in the output message for the current operation. "default" will be the schema namespace if there is one, otherwise the service namespace.

    For basic information on XML Namespaces and their use in XPath, try the following search: http://www.google.com/search?q=XPath+xml+namespaces

    Returns:
      Current xmlNamespaces value. Default value is null
    See Also:
      - `Client-side Data Integration`
      - Yahoo! XML Services Example