Package com.smartgwt.client.docs

# Interface DsRequestBeanTypes

public interface DsRequestBeanTypes

### DSRequest data auto-converted to bean types

For fields with numeric types, the `record data` in DSRequests will automatically be converted to the type of the target field, before the request is received in a DMI.

For example, if `your bean` has a field "price" of type Float, an "update" DSRequest with a new value for this field will use the Java Float type for the new value, whereas in the absence of a bean, the Double type would ordinarily be used (see `RPCRequest.data`).

This happens only for fields of type integer, sequence, intEnum and float. Because the conversion is performed as part of server-side validation, it applies only to "update" or "add" requests, and does not apply to `DSRequest.oldValues`, which will continue to use the generic types listed in `RPCRequest.data`.

Note that, while values for non-numeric fields will still use basic Java types (for example, values for Java Enum fields will arrive `as Strings by \n default`), manual conversion of the remaining data is not necessary; the server-side API `DataSource.setProperties()` does all remaining conversion necessary to populate a bean from the request data (see that API's docs for details), and this conversion will be performed automatically if your DMI logic calls `execute()` on the DSRequest.

You may need to explicitly define what Java type must be used during conversion for a given field. This can be achieved by setting `DataSourceField.javaClass` property.

If conversion fails, because of target field using an abstract Java type or invalid class defined in DSField.javaClass property etc, conversion will fall back to its default behavior, i.e. Java type will be guessed from the actual field value. It would be Long for integer based types and Double for float type or, if the value would appear to exceed the ranges of these types, BigInteger and BigDecimal accordingly.