[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