[hibernate-commits] Hibernate SVN: r15669 - in validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec: s3 and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Dec 5 08:56:19 EST 2008


Author: epbernard
Date: 2008-12-05 08:56:19 -0500 (Fri, 05 Dec 2008)
New Revision: 15669

Added:
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Address.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Auditable.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Billable.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/BuyInOneClick.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/BuyInOneClickInherited.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/CreditCard.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Order.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/User.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/ZipCode.java
   validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/ZipCodeCoherenceChecker.java
Log:
Examples from the spec

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Address.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Address.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Address.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,34 @@
+package org.hibernate.validator.spec.s3.s4;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import javax.validation.GroupSequence;
+import javax.validation.groups.Default;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at ZipCodeCoherenceChecker(groups = Address.HighLevelCoherence.class)
+public class Address {
+	@NotNull @Size(max = 50)
+	private String street1;
+
+	@ZipCode
+	private String zipcode;
+
+	@NotNull @Size(max = 30)
+	private String city;
+
+	/**
+	 * check conherence on the overall object
+	 * Needs basic checking to be green first
+	 */
+	public interface HighLevelCoherence {}
+
+	/**
+	 * check both basic constraints and high level ones.
+	 * high level constraints are not cheked if basic constraints fail
+	 */
+	@GroupSequence(sequence = {Default.class, HighLevelCoherence.class})
+	public interface Complete {}
+}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Auditable.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Auditable.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Auditable.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,22 @@
+package org.hibernate.validator.spec.s3.s4;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * Auditable object contract
+ *
+ * @author Emmanuel Bernard
+ */
+public interface Auditable {
+	@NotNull
+	String getCreationDate();
+
+	@NotNull
+	String getLastUpdate();
+
+	@NotNull
+	String getLastModifier();
+
+	@NotNull
+	String getLastReader();
+}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Billable.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Billable.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Billable.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,8 @@
+package org.hibernate.validator.spec.s3.s4;
+
+/**
+ * Validation group checking a user is billable
+ * 
+ * @author Emmanuel Bernard
+ */
+public interface Billable {}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/BuyInOneClick.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/BuyInOneClick.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/BuyInOneClick.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,9 @@
+package org.hibernate.validator.spec.s3.s4;
+
+/**
+ * Customer can buy without harrassing checking process
+ *
+ * @author Emmanuel Bernard
+ */
+public interface BuyInOneClick {
+}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/BuyInOneClickInherited.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/BuyInOneClickInherited.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/BuyInOneClickInherited.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,11 @@
+package org.hibernate.validator.spec.s3.s4;
+
+import javax.validation.groups.Default;
+
+/**
+ * Customer can buy without harrassing checking process
+ *
+ * @author Emmanuel Bernard
+ */
+public interface BuyInOneClickInherited extends Default, Billable {
+}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/CreditCard.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/CreditCard.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/CreditCard.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,7 @@
+package org.hibernate.validator.spec.s3.s4;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class CreditCard {
+}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Order.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Order.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/Order.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,39 @@
+package org.hibernate.validator.spec.s3.s4;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
+/**
+ * Represents an order in the system
+ *
+ * @author Emmanuel Bernard
+ */
+public class Order implements Auditable {
+	private String creationDate;
+	private String lastUpdate;
+	private String lastModifier;
+	private String lastReader;
+
+	private String orderNumber;
+
+	public String getCreationDate() {
+		return this.creationDate;
+	}
+
+	public String getLastUpdate() {
+		return this.lastUpdate;
+	}
+
+	public String getLastModifier() {
+		return this.lastModifier;
+	}
+
+	public String getLastReader() {
+		return this.lastReader;
+	}
+
+	@NotNull @Size(min=10, max=10)
+	public String getOrderNumber() {
+		return this.orderNumber;
+	}
+}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/User.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/User.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/User.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,20 @@
+package org.hibernate.validator.spec.s3.s4;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.groups.Default;
+
+/**
+ * User representation
+ *
+ * @author Emmanuel Bernard
+ */
+public class User {
+	@NotNull
+	private String firstname;
+
+	@NotNull(groups = Default.class)
+	private String lastname;
+
+	@NotNull(groups = {Billable.class, BuyInOneClick.class})
+	private CreditCard defaultCreditCard;
+}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/ZipCode.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/ZipCode.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/ZipCode.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,8 @@
+package org.hibernate.validator.spec.s3.s4;
+
+/**
+ * @author Emmanuel Bernard
+ */
+//TODO complete it
+public @interface ZipCode {
+}

Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/ZipCodeCoherenceChecker.java
===================================================================
--- validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/ZipCodeCoherenceChecker.java	                        (rev 0)
+++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s3/s4/ZipCodeCoherenceChecker.java	2008-12-05 13:56:19 UTC (rev 15669)
@@ -0,0 +1,19 @@
+package org.hibernate.validator.spec.s3.s4;
+
+import java.lang.annotation.Target;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Documented;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Target({ TYPE, ANNOTATION_TYPE })
+ at Retention(RUNTIME)
+ at Documented
+public @interface ZipCodeCoherenceChecker {
+	String message() default "{validator.zipCodeCoherenceChecker}";
+	Class<?>[] groups() default {};
+}




More information about the hibernate-commits mailing list