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;