Author: ggregory
Date: Mon Aug 8 13:06:51 2011
New Revision: 1154949
URL: http://svn.apache.org/viewvc?rev=1154949&view=rev
Log:
[CODEC-125] Implement a Beider-Morse phonetic matching codec. No need to create
7000+ of the same object on startup and keep it around.
Modified:
commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/bm/Rule.java
Modified:
commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/bm/Rule.java
URL:
http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/bm/Rule.java?rev=1154949&r1=1154948&r2=1154949&view=diff
==============================================================================
---
commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/bm/Rule.java
(original)
+++
commons/proper/codec/trunk/src/java/org/apache/commons/codec/language/bm/Rule.java
Mon Aug 8 13:06:51 2011
@@ -229,6 +229,16 @@ public class Rule {
}
+ private static class AllStringsRMatcher implements RPattern {
+
+ private static AllStringsRMatcher INSTANCE = new AllStringsRMatcher();
+
+ public RMatcher matcher(CharSequence input) {
+ return TrueRMatcher.INSTANCE;
+ }
+
+ }
+
/**
* A minimal wrapper around the functionality of Pattern that we use, to
allow for alternate implementations.
*/
@@ -511,11 +521,7 @@ public class Rule {
}
} else if ((startsWith || endsWith) && content.length() == 0) {
// matches every string
- return new RPattern() {
- public RMatcher matcher(CharSequence input) {
- return TrueRMatcher.INSTANCE;
- }
- };
+ return AllStringsRMatcher.INSTANCE;
} else if (startsWith) {
// matches from start
return new RPattern() {