[Schmitzm-commits] r1723 - trunk/schmitzm-core/src/main/java/de/schmitzm/regex

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Fri Sep 9 12:43:08 CEST 2011


Author: alfonx
Date: 2011-09-09 12:43:07 +0200 (Fri, 09 Sep 2011)
New Revision: 1723

Modified:
   trunk/schmitzm-core/src/main/java/de/schmitzm/regex/RegexCache.java
Log:


Modified: trunk/schmitzm-core/src/main/java/de/schmitzm/regex/RegexCache.java
===================================================================
--- trunk/schmitzm-core/src/main/java/de/schmitzm/regex/RegexCache.java	2011-09-07 09:26:49 UTC (rev 1722)
+++ trunk/schmitzm-core/src/main/java/de/schmitzm/regex/RegexCache.java	2011-09-09 10:43:07 UTC (rev 1723)
@@ -9,8 +9,8 @@
 import de.schmitzm.lang.LimitedHashMap.TRUNC_METHOD;
 
 /**
- * Cached compilierte Pattern und auch Ergebnisse von RegExes. Use the matchers methods to obtain cached result and add
- * regex to cache automatically.
+ * Cached compilierte Pattern und auch Ergebnisse von RegExes. Use the matchers
+ * methods to obtain cached result and add regex to cache automatically.
  * 
  * @author stranger
  * @author stefan.tzeggai
@@ -18,8 +18,9 @@
 public class RegexCache {
 
 	/**
-	 * Diese Klasse dienst dazu, einen Eintrag im cache liegen zu haben, auch wenn keine match gefunden wurde. In dem
-	 * Falle ist das Feld {@link #matcherResult} dann <code>null</code>
+	 * Diese Klasse dienst dazu, einen Eintrag im cache liegen zu haben, auch
+	 * wenn keine match gefunden wurde. In dem Falle ist das Feld
+	 * {@link #matcherResult} dann <code>null</code>
 	 * 
 	 */
 	static class MyMatchResult {
@@ -32,8 +33,9 @@
 	}
 
 	/**
-	 * TODO Ein String der länger ist als die hier angegebene Anzahl Zeichen wir nicht gecached. Die Wahrscheinlichkeit,
-	 * dass der selbe Sting nochmal auftaucht wird als zu gering eingeschätzt. TODO
+	 * TODO Ein String der länger ist als die hier angegebene Anzahl Zeichen wir
+	 * nicht gecached. Die Wahrscheinlichkeit, dass der selbe Sting nochmal
+	 * auftaucht wird als zu gering eingeschätzt. TODO
 	 **/
 	private static final int CACHE_VALUES_TO_RESULT_MAX_VALUE_LENGTH = 200;
 
@@ -58,14 +60,19 @@
 	 * @param regex
 	 *            may not be null
 	 * @param value
-	 *            may not be null
+	 *            returns false is <code>null</code>
 	 */
-	public final boolean matches(final String regex, final String value) {
+	public final boolean matches(final String regex, final Object object) {
+		if (object == null)
+			return false;
+		final String value = object instanceof String ? (String) object
+				: object.toString();
 		return result(regex, value) != null;
 	}
 
 	/**
-	 * Liefert eine compiliertes RegEx Pattern aus dem Cache. Wenn es vorher nicht existierte wird es erstellt.
+	 * Liefert eine compiliertes RegEx Pattern aus dem Cache. Wenn es vorher
+	 * nicht existierte wird es erstellt.
 	 */
 	public Pattern getPattern(String regex) {
 		synchronized (patterns) {
@@ -85,8 +92,8 @@
 	 *            may not be null
 	 * @param value
 	 *            may not be null
-	 * @return <code>null</code> if the pattern didn't match. A {@link MatchResult} otherwise which contains the groups
-	 *         etc.
+	 * @return <code>null</code> if the pattern didn't match. A
+	 *         {@link MatchResult} otherwise which contains the groups etc.
 	 */
 	public final MatchResult result(final String regex, final String value) {
 
@@ -96,8 +103,10 @@
 		synchronized (matchers) {
 			m = matchers.get(pattern);
 			if (m == null) {
-				matchers.put(pattern, m = new LimitedHashMap<String, MyMatchResult>(CACHE_VALUES_TO_RESULT_SIZE,
-						TRUNC_METHOD.OLDEST_GET));
+				matchers.put(pattern,
+						m = new LimitedHashMap<String, MyMatchResult>(
+								CACHE_VALUES_TO_RESULT_SIZE,
+								TRUNC_METHOD.OLDEST_GET));
 			}
 		}
 



More information about the Schmitzm-commits mailing list