[hibernate-commits] Hibernate SVN: r16623 - validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed May 27 05:58:33 EDT 2009


Author: epbernard
Date: 2009-05-27 05:58:33 -0400 (Wed, 27 May 2009)
New Revision: 16623

Modified:
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Pattern.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/PatternValidator.java
Log:
BVAL-156 Pattern.flag supports an int

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-05-27 07:16:01 UTC (rev 16622)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/constraints/Pattern.java	2009-05-27 09:58:33 UTC (rev 16623)
@@ -64,47 +64,62 @@
 	 * Possible Regexp flags
 	 */
 	public static enum Flag {
+
 		/**
 		 * Enables Unix lines mode
 		 * @see java.util.regex.Pattern#UNIX_LINES
 		 */
-		UNIX_LINES,
+		UNIX_LINES(java.util.regex.Pattern.UNIX_LINES),
 
 		/** 
 		 * Enables case-insensitive matching
 		 * @see java.util.regex.Pattern#CASE_INSENSITIVE
 		 */
-		CASE_INSENSITIVE,
+		CASE_INSENSITIVE(java.util.regex.Pattern.CASE_INSENSITIVE),
 
 		/**
 		 * Permits whitespace and comments in pattern
 		 * @see java.util.regex.Pattern#COMMENTS
 		 */
-		COMMENTS,
+		COMMENTS(java.util.regex.Pattern.COMMENTS),
 
 		/**
 		 * Enables multiline mode
 		 * @see java.util.regex.Pattern#MULTILINE
 		 */
-		MULTILINE,
+		MULTILINE(java.util.regex.Pattern.MULTILINE),
 
 		/**
 		 * Enables dotall mode
 		 * @see java.util.regex.Pattern#DOTALL
 		 */
-		DOTALL,
+		DOTALL(java.util.regex.Pattern.DOTALL),
 
 		/**
 		 * Enables Unicode-aware case folding
 		 * @see java.util.regex.Pattern#UNICODE_CASE
 		 */
-		UNICODE_CASE,
+		UNICODE_CASE(java.util.regex.Pattern.UNICODE_CASE),
 
 		/**
 		 * Enables canonical equivalence
 		 * @see java.util.regex.Pattern#CANON_EQ
 		 */
-		CANON_EQ
+		CANON_EQ(java.util.regex.Pattern.CANON_EQ);
+
+		//JDK flag value
+		private int value;
+
+		private Flag(int value) {
+			this.value = value;
+		}
+
+		/**
+		 * @return flag value as defined in {@link java.util.regex.Pattern}
+		 */
+		public int getValue() {
+			return value;
+		}
 	}
 
 	/**

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/PatternValidator.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/PatternValidator.java	2009-05-27 07:16:01 UTC (rev 16622)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/PatternValidator.java	2009-05-27 09:58:33 UTC (rev 16623)
@@ -35,7 +35,7 @@
 		Pattern.Flag flags[] = parameters.flags();
 		int intFlag = 0;
 		for ( Pattern.Flag flag : flags ) {
-			intFlag = intFlag | mapFlagToInt( flag );
+			intFlag = intFlag | flag.getValue();
 		}
 
 		try {
@@ -53,39 +53,4 @@
 		Matcher m = pattern.matcher( value );
 		return m.matches();
 	}
-
-	private int mapFlagToInt(Pattern.Flag flag) {
-		int intFlag = 0;
-		switch ( flag ) {
-			case UNIX_LINES: {
-				intFlag = java.util.regex.Pattern.UNIX_LINES;
-				break;
-			}
-			case CASE_INSENSITIVE: {
-				intFlag = java.util.regex.Pattern.CASE_INSENSITIVE;
-				break;
-			}
-			case COMMENTS: {
-				intFlag = java.util.regex.Pattern.COMMENTS;
-				break;
-			}
-			case MULTILINE: {
-				intFlag = java.util.regex.Pattern.MULTILINE;
-				break;
-			}
-			case DOTALL: {
-				intFlag = java.util.regex.Pattern.DOTALL;
-				break;
-			}
-			case UNICODE_CASE: {
-				intFlag = java.util.regex.Pattern.UNICODE_CASE;
-				break;
-			}
-			case CANON_EQ: {
-				intFlag = java.util.regex.Pattern.CANON_EQ;
-				break;
-			}
-		}
-		return intFlag;
-	}
 }




More information about the hibernate-commits mailing list