# Package com.smartgwt.client.docs.serverds

This package is reference for all properties that may be specified in DataSource descriptor (.ds.xml file).

See: Description

- Class Summary
  Class | Description
  --- | ---
  AdvancedCriteria | AdvancedCriteria is a format for representing search criteria which may include operators on field values such as "less than", or may include sub-clauses such as several criteria applied to fields joined by an "OR" operator.
  Criterion | An object representing a criterion to apply to a record.
  DataSource | A DataSource is data-provider-independent description of a set of objects that will be loaded, edited and saved within the user interface of your application.
  DataSourceField | Metadata about a DataSourceField, including its type and validators.
  DSRequestModifier | An object that modifies a dsRequest based on several available values, including preceding responses from the same queue.
  Mail | A `Mail` object describes an email that will be sent automatically by the Smart GWT Server as part of a normal `DataSource` operation.
  OperationBinding | An operationBinding tells a DataSource how to execute one of the basic DS operations: fetch, add, update, remove.
  Operator | Specification of an operator for use in filtering, for example "equals".
  ServerObject | The ServerObject tells the ISC server how to find or create a server-side object involved in `DMI` (Direct Method Invocation).
  SimpleType | An atomic type such as a string or number, that is generally stored, displayed and manipulated as a single value.
  Validator | A validator describes a check that should be performed on a value the user is trying to save.
  VisibleMethod | Defines the method of the `ServerObject` if it appears in an `Application declaration file`.

## Package com.smartgwt.client.docs.serverds Description

This package is reference for all properties that may be specified in DataSource descriptor (.ds.xml file). Do not import this package in your Java code - it is informational only.

Each Java Class here represents an XML element, and each field is a setting that can be specified as either an attribute or a subelement.

For example, DataSource.canMultiSort can be set like this:

    <DataSource canMultiSort="true"/>

Or like this:

    <DataSource>
        <canMultiSort>true</canMultiSort>
    </DataSource>

When a class in this package has a field that is an Array of another class, it means there is a containing XML tag named after the field, then several tags named after the class. For example, DataSource.operationBindings is an Array of OperationBinding. The XML for this is:

    <DataSource>
        <operationBindings>
            <operationBinding operationType="fetch">
                ... various operationBinding settings ...
            </operationBinding>
        </operationBindings>
    </DataSource>

If the field is not an Array, it means there should be a singular tag. For example, OperationBinding.mail:

    <DataSource>
        <operationBindings>
            <operationBinding operationType="add">
                <mail to="admin@company.com" templateFile="messageTemplate.txt"/>
            </operationBinding>
        </operationBindings>
    </DataSource>

DataSource files and other Component XML files can be localized using resource bundles - see `this overview` for details.