[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