Holy combinatorial explosion! I assume the stuff that is copyright Google is either by you or by Chris R?
A few nits, and one real concern about DefaultConstraints. http://gwt-code-reviews.appspot.com/735801/diff/1/2 File tools/api-checker/config/gwt20_21userApi.conf (right): http://gwt-code-reviews.appspot.com/735801/diff/1/2#newcode81 tools/api-checker/config/gwt20_21userApi.conf:81: :user/src/com/google/gwt/validation/client/constraints/*.java\ This doesn't belong here. You'll prevent the api checker from warning us of future changes to this public api. http://gwt-code-reviews.appspot.com/735801/diff/1/3 File user/build.xml (right): http://gwt-code-reviews.appspot.com/735801/diff/1/3#newcode135 user/build.xml:135: <exclude name="javax/validation/super/javax/validation/constraints/Pattern.java"/> No tabs, please. http://gwt-code-reviews.appspot.com/735801/diff/5001/6012 File user/src/com/google/gwt/validation/client/constraints/DecimalMaxValidatorForNumber.java (right): http://gwt-code-reviews.appspot.com/735801/diff/5001/6012#newcode33 user/src/com/google/gwt/validation/client/constraints/DecimalMaxValidatorForNumber.java:33: } else if (value instanceof BigDecimal) { pet peeve: there is no reason for an else after a return http://gwt-code-reviews.appspot.com/735801/diff/5001/6012#newcode34 user/src/com/google/gwt/validation/client/constraints/DecimalMaxValidatorForNumber.java:34: BigDecimal bigValue = (BigDecimal) value; should inline http://gwt-code-reviews.appspot.com/735801/diff/5001/6016 File user/src/com/google/gwt/validation/client/constraints/DefaultConstraints.java (right): http://gwt-code-reviews.appspot.com/735801/diff/5001/6016#newcode40 user/src/com/google/gwt/validation/client/constraints/DefaultConstraints.java:40: public class DefaultConstraints { The compiler can't optimize this. Every class that you're using here will be compiled into every app that calls getDefaultConstraints. http://gwt-code-reviews.appspot.com/735801/diff/5001/6019 File user/src/com/google/gwt/validation/client/constraints/FutureValidatorForDate.java (right): http://gwt-code-reviews.appspot.com/735801/diff/5001/6019#newcode26 user/src/com/google/gwt/validation/client/constraints/FutureValidatorForDate.java:26: * {...@link java.util.Date}. . Extra period. http://gwt-code-reviews.appspot.com/735801/diff/5001/6023 File user/src/com/google/gwt/validation/client/constraints/MinValidatorForString.java (right): http://gwt-code-reviews.appspot.com/735801/diff/5001/6023#newcode34 user/src/com/google/gwt/validation/client/constraints/MinValidatorForString.java:34: bigValue = new BigDecimal(value); Aren't there localization issues with this approach? Or is this implementation to spec? http://gwt-code-reviews.appspot.com/735801/diff/5001/6027 File user/src/com/google/gwt/validation/client/constraints/PatternValidator.java (right): http://gwt-code-reviews.appspot.com/735801/diff/5001/6027#newcode26 user/src/com/google/gwt/validation/client/constraints/PatternValidator.java:26: * {...@link Pattern} constraint validator implementation. Is this the place to mention the differences between gwt regexp and real java regexp? Maybe @link to com.google.gwt.regexp.shared.RegExp if nothing else? http://gwt-code-reviews.appspot.com/735801/diff/5001/6041 File user/src/javax/validation/super/javax/validation/constraints/Pattern.java (right): http://gwt-code-reviews.appspot.com/735801/diff/5001/6041#newcode16 user/src/javax/validation/super/javax/validation/constraints/Pattern.java:16: // Modified bu google. bu http://gwt-code-reviews.appspot.com/735801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
