Mercurial > projects > dwt2
comparison org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/validation/AbstractStringToNumberValidator.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 |
comparison
equal
deleted
inserted
replaced
84:fcf926c91ca4 | 85:6be48cf9f95c |
---|---|
11 | 11 |
12 module org.eclipse.core.internal.databinding.validation.AbstractStringToNumberValidator; | 12 module org.eclipse.core.internal.databinding.validation.AbstractStringToNumberValidator; |
13 import org.eclipse.core.internal.databinding.validation.NumberFormatConverter; | 13 import org.eclipse.core.internal.databinding.validation.NumberFormatConverter; |
14 | 14 |
15 import java.lang.all; | 15 import java.lang.all; |
16 import java.nonstandard.RuntimeTraits; | |
16 | 17 |
17 import org.eclipse.core.databinding.validation.IValidator; | 18 import org.eclipse.core.databinding.validation.IValidator; |
18 import org.eclipse.core.databinding.validation.ValidationStatus; | 19 import org.eclipse.core.databinding.validation.ValidationStatus; |
19 import org.eclipse.core.internal.databinding.conversion.StringToNumberParser; | 20 import org.eclipse.core.internal.databinding.conversion.StringToNumberParser; |
20 import org.eclipse.core.internal.databinding.conversion.StringToNumberParser.ParseResult; | |
21 import org.eclipse.core.runtime.IStatus; | 21 import org.eclipse.core.runtime.IStatus; |
22 import org.eclipse.core.runtime.Status; | 22 import org.eclipse.core.runtime.Status; |
23 | 23 |
24 /** | 24 /** |
25 * Validates a number that is to be converted by a {@link NumberFormatConverter}. | 25 * Validates a number that is to be converted by a {@link NumberFormatConverter}. |
47 Number min, Number max) { | 47 Number min, Number max) { |
48 this.converter = converter; | 48 this.converter = converter; |
49 this.min = min; | 49 this.min = min; |
50 this.max = max; | 50 this.max = max; |
51 | 51 |
52 if (null !is cast(ClassInfo)converter.getToType()) { | 52 if (null !is cast(TypeInfo)converter.getToType()) { |
53 ClassInfo clazz = cast(ClassInfo) converter.getToType(); | 53 TypeInfo clazz = cast(TypeInfo) converter.getToType(); |
54 toPrimitive = clazz.isPrimitive(); | 54 toPrimitive = isJavaPrimitive(clazz); |
55 } else { | 55 } else { |
56 toPrimitive = false; | 56 toPrimitive = false; |
57 } | 57 } |
58 } | 58 } |
59 | 59 |
65 * </ul> | 65 * </ul> |
66 * | 66 * |
67 * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object) | 67 * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object) |
68 */ | 68 */ |
69 public final IStatus validate(Object value) { | 69 public final IStatus validate(Object value) { |
70 ParseResult result = StringToNumberParser.parse(value, converter | 70 StringToNumberParser.ParseResult result = StringToNumberParser.parse(value, converter |
71 .getNumberFormat(), toPrimitive); | 71 .getNumberFormat(), toPrimitive); |
72 | 72 |
73 if (result.getNumber() !is null) { | 73 if (result.getNumber() !is null) { |
74 if (!isInRange(result.getNumber())) { | 74 if (!isInRange(result.getNumber())) { |
75 if (outOfRangeMessage is null) { | 75 if (outOfRangeMessage is null) { |
80 | 80 |
81 return ValidationStatus.error(outOfRangeMessage); | 81 return ValidationStatus.error(outOfRangeMessage); |
82 } | 82 } |
83 } else if (result.getPosition() !is null) { | 83 } else if (result.getPosition() !is null) { |
84 String parseErrorMessage = StringToNumberParser.createParseErrorMessage( | 84 String parseErrorMessage = StringToNumberParser.createParseErrorMessage( |
85 cast(String) value, result.getPosition()); | 85 stringcast(value), result.getPosition()); |
86 | 86 |
87 return ValidationStatus.error(parseErrorMessage); | 87 return ValidationStatus.error(parseErrorMessage); |
88 } | 88 } |
89 | 89 |
90 return Status.OK_STATUS; | 90 return Status.OK_STATUS; |