[hibernate-commits] Hibernate SVN: r16789 - beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Mon Jun 15 17:41:42 EDT 2009


Author: epbernard
Date: 2009-06-15 17:41:42 -0400 (Mon, 15 Jun 2009)
New Revision: 16789

Added:
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/ConstraintPayload.java
Modified:
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/AssertFalse.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/AssertTrue.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/DecimalMax.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/DecimalMin.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Digits.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Future.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Max.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Min.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/NotNull.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Null.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Past.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Pattern.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Size.java
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/util/ReflectionHelperTest.java
Log:
BVAL-163 constraint payload

Added: beanvalidation/trunk/validation-api/src/main/java/javax/validation/ConstraintPayload.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/ConstraintPayload.java	                        (rev 0)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/ConstraintPayload.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -0,0 +1,15 @@
+package javax.validation;
+
+/**
+ * Payload type that can be attached to a given
+ * constraint declaration.
+ * Payloads are typically used to carry on metadata information
+ * consumed by a validation client.
+ *
+ * Use of payloads is not considered portable.
+ *
+ * @author Emmanuel Bernard
+ * @author Gerhard Petracek
+ */
+public interface ConstraintPayload {
+}
\ No newline at end of file

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/AssertFalse.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/AssertFalse.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/AssertFalse.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be false.
@@ -43,6 +44,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * Defines several @AssertFalse annotations on the same element
 	 * @see javax.validation.constraints.AssertFalse

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/AssertTrue.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/AssertTrue.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/AssertTrue.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be true.
@@ -43,6 +44,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * Defines several @AssertTrue annotations on the same element
 	 * @see AssertTrue

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/DecimalMax.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/DecimalMax.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/DecimalMax.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be a number whose value must be lower or
@@ -54,6 +55,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * The String representation of the max value according to the
 	 * BigDecimal string representation

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/DecimalMin.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/DecimalMin.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/DecimalMin.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be a number whose value must be higher or
@@ -54,6 +55,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * The String representation of the min value according to the
 	 * BigDecimal string representation

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Digits.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Digits.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Digits.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be a number within accepted range
@@ -51,6 +52,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * @return maximum number of integral digits accepted for this number.
 	 */

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Future.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Future.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Future.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be a date in the future.
@@ -51,6 +52,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * Defines several @Future annotations on the same element
 	 * @see {@link Future}

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Max.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Max.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Max.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be a number whose value must be lower or
@@ -53,6 +54,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * @return value the element must be lower or equal to
 	 */

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Min.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Min.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Min.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be a number whose value must be higher or
@@ -53,6 +54,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * @return value the element must be higher or equal to
 	 */

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/NotNull.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/NotNull.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/NotNull.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must not be <code>null</code>.
@@ -41,6 +42,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * Defines several @NotNull annotations on the same element
 	 * @see javax.validation.constraints.NotNull

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Null.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Null.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Null.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be null.
@@ -41,6 +42,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * Defines several @Null annotations on the same element
 	 * @see javax.validation.constraints.Null

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Past.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Past.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Past.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element must be a date in the past.
@@ -51,6 +52,8 @@
 
 	Class<?>[] groups() default { };
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * Defines several @Past annotations on the same element
 	 * @see {@link Past}

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Pattern.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Pattern.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Pattern.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated String must match the following regular expression.
@@ -61,6 +62,11 @@
 	Class<?>[] groups() default { };
 
 	/**
+	 * @return The payload associated to the constraint
+	 */
+	Class<? extends ConstraintPayload>[] payload() default {};
+
+	/**
 	 * Possible Regexp flags
 	 */
 	public static enum Flag {

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Size.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Size.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Size.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -25,6 +25,7 @@
 import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
 import javax.validation.Constraint;
+import javax.validation.ConstraintPayload;
 
 /**
  * The annotated element size must be between the specified boundaries (included).
@@ -46,8 +47,11 @@
 @Constraint(validatedBy = {})
 public @interface Size {
 	String message() default "{javax.validation.constraints.Size.message}";
+	
 	Class<?>[] groups() default {};
 
+	Class<? extends ConstraintPayload>[] payload() default {};
+
 	/**
 	 * @return size the element must be higher or equal to
 	 */

Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/util/ReflectionHelperTest.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/util/ReflectionHelperTest.java	2009-06-15 18:03:30 UTC (rev 16788)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/util/ReflectionHelperTest.java	2009-06-15 21:41:42 UTC (rev 16789)
@@ -28,6 +28,7 @@
 import java.util.SortedMap;
 import java.util.TreeSet;
 import javax.validation.ValidationException;
+import javax.validation.ConstraintPayload;
 import javax.validation.constraints.NotNull;
 import javax.validation.groups.Default;
 
@@ -136,6 +137,12 @@
 				return new Class<?>[] { Default.class };
 			}
 
+			public Class<? extends ConstraintPayload>[] payload() {
+				@SuppressWarnings( "unchecked")
+				Class<? extends ConstraintPayload>[] classes = new Class[] { };
+				return classes;
+			}
+
 			public Class<? extends Annotation> annotationType() {
 				return this.getClass();
 			}




More information about the hibernate-commits mailing list