isOKToConvert()

Determines whether it is possible to convert a value from one data type to another.

Syntax

int isOKToConvert(int srcDatatype, int destDataType)
 int isOKToConvert(String srcDataTypeStr, String destDataTypeStr)
 

Parameters

srcDataType
Integer returned by getType(), which represents the data type of the source value that you want to convert.

destDataType
Integer returned by getType(), which represents the data type to which you want to convert the source value.

srcDataTypeStr
String containing the data type name for the source value that you want to convert. Possible values are: Boolean, boolean, Double, double, Float, float, Integer, int, and String.

destDataTypeStr
String containing the data type name to which you want to convert the source value. Possible values are: Boolean, boolean, Double, double, Float, float, Integer, int, and String.

Return values

Returns an integer specifying whether it is possible to convert a value of the source data type to a value of the destination data type. You can interpret the return value by comparing it to one of these constants, which are declared as static and final in the DtpDataConversion class:

OKTOCONVERT
You can convert from the source to the destination data type.

POTENTIALDATALOSS
You can convert, but there is a potential for data loss if the source value contains unconvertable characters or must be truncated to fit the destination data type.

CANNOTCONVERT
The source data type cannot be converted to the destination data type.

Exceptions

None.

Notes

The getType() method returns an integer representing the data type of the value you pass as a parameter. You use the first form of isOKToConvert() together with getType() to determine whether a data conversion between two attributes is possible. In your isOKToConvert() method call, use getType() on both the source and destination attributes to generate the srcDataType and destDataType parameters.

The second form of the method accepts String values containing the data type names for the source and destination data. Use this form of the method if you know what the data types are, and you want to check whether you can perform a conversion.

Table 100 shows the possible conversions for each combination of source and destination data type. In the table:


Table 100.
Possible Conversions Between Data Types




D E S T I N A T I O N


SOURCE int, Integer
String
float, Float
double, Double
boolean Boolean
Date
Longtext
int Integer OK OK OK OK NO NO OK
String DL1 OK DL1 DL1 DL2 DL OK
float, Float DL3 OK OK OK NO NO OK
double, Double DL3 OK DL3 OK NO NO OK
boolean, Boolean NO OK NO NO OK NO OK
Date NO OK NO NO NO OK OK
Longtext DL1 DL3 DL1 DL1 DL2 DL OK

1When converting a String or Longtext value to any numeric type, the String or Longtext value can contain only numbers and decimals. You must remove any other characters, such as currency symbols, from the String or Longtext value before converting. Otherwise, a DtpIncompatibleFormatException will be thrown.

2When converting a String or Longtext value to Boolean, the value of the String or Longtext should be "true" or "false". Any string that is not "true" (case does not matter) will be considered false.

3Because the source data type supports greater precision than the destination data type, the value might be truncated.

Examples

if (DtpDataConversion.isOKToConvert(getType(mySource),
       getType(myDest))== DtpDataConversion.OKTOCONVERT)
    // map these attributes
 else
    // skip these attributes
 

See also

getType()

Copyright IBM Corp. 1997, 2003