diff org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/conversion/StringToByteConverter.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/internal/databinding/conversion/StringToByteConverter.d	Sat Apr 18 09:25:29 2009 +0200
+++ b/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/conversion/StringToByteConverter.d	Sat Apr 18 13:54:50 2009 +0200
@@ -13,8 +13,8 @@
 import org.eclipse.core.internal.databinding.conversion.StringToNumberParser;
 
 import java.lang.all;
+import java.nonstandard.RuntimeTraits;
 
-import org.eclipse.core.internal.databinding.conversion.StringToNumberParser.ParseResult;
 import org.eclipse.core.internal.databinding.validation.NumberFormatConverter;
 
 import com.ibm.icu.text.NumberFormat;
@@ -31,9 +31,9 @@
      * @param numberFormat
      * @param toType
      */
-    private this(NumberFormat numberFormat, ClassInfo toType) {
-        super(String.classinfo, toType, numberFormat);
-        primitive = toType.isPrimitive();
+    private this(NumberFormat numberFormat, TypeInfo toType) {
+        super(typeid(StringCls), toType, numberFormat);
+        primitive = isJavaPrimitive(cast(TypeInfo)toType);
         this.numberFormat = numberFormat;
     }
 
@@ -44,7 +44,7 @@
      */
     public static StringToByteConverter toByte(NumberFormat numberFormat,
             bool primitive) {
-        return new StringToByteConverter(numberFormat, (primitive) ? Byte.TYPE : Byte.classinfo);
+        return new StringToByteConverter(numberFormat, (primitive) ? Byte.TYPE : typeid(Byte));
     }
 
     /**
@@ -59,7 +59,7 @@
      * @see org.eclipse.core.databinding.conversion.IConverter#convert(java.lang.Object)
      */
     public Object convert(Object fromObject) {
-        ParseResult result = StringToNumberParser.parse(fromObject,
+        StringToNumberParser.ParseResult result = StringToNumberParser.parse(fromObject,
                 numberFormat, primitive);
 
         if (result.getPosition() !is null) {
@@ -67,7 +67,7 @@
             // it but anyone can call convert so we should return a properly
             // formatted message in an exception
             throw new IllegalArgumentException(StringToNumberParser
-                    .createParseErrorMessage(cast(String) fromObject, result
+                    .createParseErrorMessage(stringcast(fromObject), result
                             .getPosition()));
         } else if (result.getNumber() is null) {
             // if an error didn't occur and the number is null then it's a boxed
@@ -82,7 +82,7 @@
         synchronized (this) {
             if (outOfRangeMessage is null) {
                 outOfRangeMessage = StringToNumberParser
-                .createOutOfRangeMessage(new Bytecast(Byte.MIN_VALUE), new Bytecast(Byte.MAX_VALUE), numberFormat);
+                .createOutOfRangeMessage(new Byte(Byte.MIN_VALUE), new Byte(Byte.MAX_VALUE), numberFormat);
             }
                         
             throw new IllegalArgumentException(outOfRangeMessage);