Mercurial > projects > dwt2
diff org.eclipse.core.databinding/src/org/eclipse/core/databinding/conversion/NumberToStringConverter.d @ 85:6be48cf9f95c
Work on databinding
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 18 Apr 2009 13:54:50 +0200 |
parents | 383ce7bd736b |
children | 9e0ab372d5d8 |
line wrap: on
line diff
--- a/org.eclipse.core.databinding/src/org/eclipse/core/databinding/conversion/NumberToStringConverter.d Sat Apr 18 09:25:29 2009 +0200 +++ b/org.eclipse.core.databinding/src/org/eclipse/core/databinding/conversion/NumberToStringConverter.d Sat Apr 18 13:54:50 2009 +0200 @@ -13,6 +13,7 @@ import org.eclipse.core.databinding.conversion.Converter; import java.lang.all; +import java.nonstandard.RuntimeTraits; import java.math.BigInteger; @@ -26,7 +27,7 @@ */ public class NumberToStringConverter : Converter { private final NumberFormat numberFormat; - private final ClassInfo fromType; + private final TypeInfo fromType; private bool fromTypeIsLong; private bool fromTypeIsDecimalType; private bool fromTypeIsBigInteger; @@ -40,20 +41,20 @@ * @param numberFormat * @param fromType */ - private this(NumberFormat numberFormat, ClassInfo fromType) { - super(fromType, String.classinfo); + private this(NumberFormat numberFormat, TypeInfo fromType) { + super(fromType, typeid(StringCls)); this.numberFormat = numberFormat; this.fromType = fromType; - if (Integer.classinfo.equals(fromType) || Integer.TYPE.equals(fromType) - || Long.classinfo.equals(fromType) || Long.TYPE.equals(fromType)) { + if (typeid(Integer) is fromType || Integer.TYPE is fromType + || typeid(Long) is (fromType) || Long.TYPE is (fromType)) { fromTypeIsLong = true; - } else if (Float.classinfo.equals(fromType) || Float.TYPE.equals(fromType) - || Double.classinfo.equals(fromType) - || Double.TYPE.equals(fromType)) { + } else if (typeid(Float) is (fromType) || Float.TYPE is (fromType) + || typeid(Double) is (fromType) + || Double.TYPE is (fromType)) { fromTypeIsDecimalType = true; - } else if (BigInteger.classinfo.equals(fromType)) { + } else if (typeid(BigInteger) is (fromType)) { fromTypeIsBigInteger = true; } } @@ -71,8 +72,8 @@ */ public Object convert(Object fromObject) { // Null is allowed when the type is not primitve. - if (fromObject is null && !fromType.isPrimitive()) { - return ""; //$NON-NLS-1$ + if (fromObject is null && !isJavaPrimitive(fromType)) { + return stringcast(""); //$NON-NLS-1$ } Number number = cast(Number) fromObject; @@ -91,7 +92,7 @@ } } - return result; + return stringcast(result); } /** @@ -111,7 +112,7 @@ public static NumberToStringConverter fromDouble(NumberFormat numberFormat, bool primitive) { return new NumberToStringConverter(numberFormat, - (primitive) ? Double.TYPE : Double.classinfo); + (primitive) ? Double.TYPE : typeid(Double)); } /** @@ -131,7 +132,7 @@ public static NumberToStringConverter fromLong(NumberFormat numberFormat, bool primitive) { return new NumberToStringConverter(numberFormat, - (primitive) ? Long.TYPE : Long.classinfo); + (primitive) ? Long.TYPE : typeid(Long)); } /** @@ -151,7 +152,7 @@ public static NumberToStringConverter fromFloat(NumberFormat numberFormat, bool primitive) { return new NumberToStringConverter(numberFormat, - (primitive) ? Float.TYPE : Float.classinfo); + (primitive) ? Float.TYPE : typeid(Float)); } /** @@ -171,7 +172,7 @@ public static NumberToStringConverter fromInteger( NumberFormat numberFormat, bool primitive) { return new NumberToStringConverter(numberFormat, - (primitive) ? Integer.TYPE : Integer.classinfo); + (primitive) ? Integer.TYPE : typeid(Integer)); } /** @@ -187,6 +188,6 @@ */ public static NumberToStringConverter fromBigInteger( NumberFormat numberFormat) { - return new NumberToStringConverter(numberFormat, BigInteger.classinfo); + return new NumberToStringConverter(numberFormat, typeid(BigInteger)); } }