Package org.eclipse.birt.core.data
Class DataTypeUtil
java.lang.Object
org.eclipse.birt.core.data.DataTypeUtil
A utility function The convert method converts the source object, which can
be any supported data type, into an object given specified type. If no
reasonable conversion can be made, throw a BirtException.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Object
convert an object to given type Types supported: DataType.INTEGER_TYPE DataType.DECIMAL_TYPE DataType.BOOLEAN_TYPE DataType.DATE_TYPE DataType.DOUBLE_TYPE DataType.STRING_TYPE DataType.BLOB_TYPE DataType.SQL_DATE_TYPE DataType.SQL_TIME_TYPEstatic Object
convert a object to given class Classes supported: Integer.class BigDecimal.class Boolean.class Time.class Date.class Double.class String.class Blob.classstatic Class
fromApiDataTypeToJavaClass
(int apiDataType) static String
getDateFormat
(String source) Find the date format pattern string for a given datetime string without specified locale.static com.ibm.icu.text.DateFormat
getDateFormat
(String source, com.ibm.icu.util.ULocale locale, com.ibm.icu.util.TimeZone timeZone) Deprecated.use getDateFormatObject insteadstatic com.ibm.icu.text.DateFormat
getDateFormatObject
(String source, com.ibm.icu.util.ULocale locale, com.ibm.icu.util.TimeZone timeZone) Retrieve date format object that matches the given date/time stringstatic int
toApiDataType
(int odaDataTypeCode) Converts an ODA data type code to its corresponding Data Engine API data type constant defined in DataType.static int
toApiDataType
(Class clazz) Converts a Java class to its corresponding data type constant defined in DataTypestatic Object
toAutoValue
(Object evaValue) Convert object to a suitable type from its value Object -> Integer -> Double -> BigDecimal -> Date -> Stringstatic BigDecimal
toBigDecimal
(Object source) Boolean -> BigDecimal true -> 1 others -> 0 Date -> BigDecimal Date.getTime(); String -> BigDecimal new BigDecimal(String);static Blob
Converting Blob to/from other types is not currently supportedstatic Boolean
Number -> Boolean 0 -> false others -> true String -> Boolean "true" -> true (ignore case) "false" -> false (ignore case) other string will throw an exception Date -> Boolean throw exceptionstatic byte[]
static Date
Number -> Date new Date((long)Number) String -> Date toDate(String)static Date
Convert a string to a Date instance according to the TimeZone valuestatic Date
convert String with the specified locale to java.util.Datestatic Date
Parses a date/time stringstatic Date
A temp solution to the adoption of ICU4J to BIRT.static Date
toDateWithCheck
(String source, com.ibm.icu.util.ULocale locale) Convert string to date with check.static Date
toDateWithCheck
(String source, Locale locale) A temp solution to the adoption of ICU4J in BIRT.static Double
Boolean -> Double true -> 1 others -> 0 Date -> Double Date.getTime(); String -> Double Double.valueOf(String);static Double
static Double
static Integer
Boolean -> Integer true -> 1 others -> 0 Date -> Integer Date.getTime(); String -> Integer Integer.valueOf();static Integer
Boolean -> Integer true -> 1 others -> 0 Date -> Integer Date.getTime(); String -> Integer Integer.valueOf();static Integer
toIntegerValue
(Object evaValue) convert object to Integer.static String
toLocaleNeutralString
(Object source) Convert an object to an locale neutral String value.static String
toLocaleNeutralString
(Object source, com.ibm.icu.util.TimeZone zone) Convert an object to an locale neutral String value.static int
toOdaDataType
(Class odiTypeClass) Converts an ODI type class to its corresponding ODA data type code.static Class
toOdiTypeClass
(int odaDataTypeCode) Converts an ODA data type code to the Java class of its corresponding Data Engine ODI data type.static Date
Date -> Time String -> Timestatic Time
Date -> Time String -> Timestatic String
Number -> String Number.toString() Boolean -> String Boolean.toString() Date -> String toString(Date)static String
Number -> String Number.toString() Boolean -> String Boolean.toString() Date -> String toString(Date,locale)static String
A temp solution to the adoption of ICU4J.static Timestamp
toTimestamp
(Object source)
-
Field Details
-
resourceBundle
-
count
public static long count
-
-
Constructor Details
-
DataTypeUtil
public DataTypeUtil()
-
-
Method Details
-
convert
convert an object to given type Types supported: DataType.INTEGER_TYPE DataType.DECIMAL_TYPE DataType.BOOLEAN_TYPE DataType.DATE_TYPE DataType.DOUBLE_TYPE DataType.STRING_TYPE DataType.BLOB_TYPE DataType.SQL_DATE_TYPE DataType.SQL_TIME_TYPE- Parameters:
source
-toType
-- Returns:
- Throws:
BirtException
-
convert
convert a object to given class Classes supported: Integer.class BigDecimal.class Boolean.class Time.class Date.class Double.class String.class Blob.class- Parameters:
source
-toTypeClass
-- Returns:
- Throws:
BirtException
-
toInteger
Boolean -> Integer true -> 1 others -> 0 Date -> Integer Date.getTime(); String -> Integer Integer.valueOf();- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toInteger
public static Integer toInteger(Object source, com.ibm.icu.util.ULocale locale) throws BirtException Boolean -> Integer true -> 1 others -> 0 Date -> Integer Date.getTime(); String -> Integer Integer.valueOf();- Parameters:
source
-locale
- Locale- Returns:
- Throws:
BirtException
-
toBigDecimal
Boolean -> BigDecimal true -> 1 others -> 0 Date -> BigDecimal Date.getTime(); String -> BigDecimal new BigDecimal(String);- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toBoolean
Number -> Boolean 0 -> false others -> true String -> Boolean "true" -> true (ignore case) "false" -> false (ignore case) other string will throw an exception Date -> Boolean throw exception- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toDate
Number -> Date new Date((long)Number) String -> Date toDate(String)- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toTimestamp
- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toSqlTime
Date -> Time String -> Time- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toSqlDate
Date -> Time String -> Time- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toDate
A temp solution to the adoption of ICU4J to BIRT. Simply delegate toDate( String, Locale) method.- Parameters:
source
- the String to be convertlocate
- the locate of the string- Returns:
- result Date
- Throws:
BirtException
-
toDate
convert String with the specified locale to java.util.Date- Parameters:
source
- the String to be convertlocate
- the locate of the string- Returns:
- result Date
- Throws:
BirtException
-
toDate
public static Date toDate(String source, com.ibm.icu.util.ULocale locale, com.ibm.icu.util.TimeZone timeZone) throws BirtException Parses a date/time string- Parameters:
source
-locale
-timeZone
-- Returns:
- Throws:
BirtException
-
getDateFormat
@Deprecated public static com.ibm.icu.text.DateFormat getDateFormat(String source, com.ibm.icu.util.ULocale locale, com.ibm.icu.util.TimeZone timeZone) throws BirtException Deprecated.use getDateFormatObject instead- Throws:
BirtException
-
getDateFormatObject
public static com.ibm.icu.text.DateFormat getDateFormatObject(String source, com.ibm.icu.util.ULocale locale, com.ibm.icu.util.TimeZone timeZone) throws BirtException Retrieve date format object that matches the given date/time string- Parameters:
source
-locale
-timeZone
-- Returns:
- Throws:
BirtException
- Since:
- 4.8
-
toDate
Convert a string to a Date instance according to the TimeZone value- Parameters:
source
-timeZone
-- Returns:
- Throws:
BirtException
-
toDateWithCheck
A temp solution to the adoption of ICU4J in BIRT. It is a simple delegation to toDateWithCheck( String, Locale ).- Parameters:
source
-locale
-- Returns:
- Date
- Throws:
BirtException
-
toDateWithCheck
public static Date toDateWithCheck(String source, com.ibm.icu.util.ULocale locale) throws BirtException Convert string to date with check. JDK may do incorrect converse, for example: 2005/1/1 Local.US, format pattern is MM/dd/YY. Above conversion can be done without error, but obviously the result is not right. This method will do such a simple check, in DateFormat.SHORT case instead of all cases. Year is not lower than 0. Month is from 1 to 12. Day is from 1 to 31.- Parameters:
source
-locale
-- Returns:
- Date
- Throws:
BirtException
-
toDouble
- Throws:
CoreException
-
toDouble
- Throws:
CoreException
-
toDouble
Boolean -> Double true -> 1 others -> 0 Date -> Double Date.getTime(); String -> Double Double.valueOf(String);- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toString
Number -> String Number.toString() Boolean -> String Boolean.toString() Date -> String toString(Date)- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toString
A temp solution to the adoption of ICU4J. It is a simple delegation to toString( Object, Locale ).- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toLocaleNeutralString
public static String toLocaleNeutralString(Object source, com.ibm.icu.util.TimeZone zone) throws BirtException Convert an object to an locale neutral String value. For Date values we will convert to ISO8601 format. User can specify the time zone to output.- Parameters:
source
-zone
-- Returns:
- Throws:
BirtException
-
toLocaleNeutralString
Convert an object to an locale neutral String value. For Date values we will convert to ISO8601 format. This will always output default(current) time zone.- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toString
Number -> String Number.toString() Boolean -> String Boolean.toString() Date -> String toString(Date,locale)- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toBlob
Converting Blob to/from other types is not currently supported- Parameters:
source
-- Returns:
- Throws:
BirtException
-
toBytes
- Parameters:
source
-- Returns:
- byte array
- Throws:
BirtException
-
toApiDataType
Converts a Java class to its corresponding data type constant defined in DataType -
fromApiDataTypeToJavaClass
-
toApiDataType
Converts an ODA data type code to its corresponding Data Engine API data type constant defined in DataType.- Parameters:
odaDataTypeCode
- an ODA data type code- Throws:
BirtException
- if the specified ODA data type code is not a supported type
-
toAutoValue
Convert object to a suitable type from its value Object -> Integer -> Double -> BigDecimal -> Date -> String -
toIntegerValue
convert object to Integer. If fails, return null. Object -> Integer -
getDateFormat
Find the date format pattern string for a given datetime string without specified locale. If a suitable date format cannot be found or the pattern string cannot be retrieved, returns null- Parameters:
source
-- Returns:
- Throws:
BirtException
- Since:
- 4.8
-
toOdiTypeClass
Converts an ODA data type code to the Java class of its corresponding Data Engine ODI data type.
ODA Data Type -> ODI Type Class
Integer -> java.lang.Integer
Double -> java.lang.Double
Character -> java.lang.String
Decimal -> java.math.BigDecimal
Date -> java.sql.Date
Time -> java.sql.Time
Timestamp -> java.sql.Timestamp
Blob -> java.sql.Blob
Clob -> java.sql.Clob
Boolean -> java.lang.Boolean
JavaObject -> java.lang.Object
- Parameters:
odaDataTypeCode
- an ODA data type code- Returns:
- the ODI type class that corresponds with the specified ODA data type
- Throws:
BirtException
- if the specified ODA data type is not a supported type
-
toOdaDataType
Converts an ODI type class to its corresponding ODA data type code.
ODI Type Class -> ODA Data Type
java.lang.Integer -> Integer
java.lang.Double -> Double
java.lang.String -> Character
java.math.BigDecimal -> Decimal
java.util.Date -> Timestamp
java.sql.Date -> Date
java.sql.Time -> Time
java.sql.Timestamp -> Timestamp
java.sql.Blob -> Blob
java.sql.Clob -> Clob
java.lang.Boolean -> Boolean
java.lang.Object -> JavaObject
All other type classes are mapped to the ODA String data type.- Parameters:
odiTypeClass
- a type class used by the Data Engine ODI component- Returns:
- the ODA data type that maps to the ODI type class.
-