org.apache.lucene.search.regex
Class JavaUtilRegexCapabilities

java.lang.Object
  extended by org.apache.lucene.search.regex.JavaUtilRegexCapabilities
All Implemented Interfaces:
RegexCapabilities

public class JavaUtilRegexCapabilities
extends Object
implements RegexCapabilities

An implementation tying Java's built-in java.util.regex to RegexQuery. Note that because this implementation currently only returns null from prefix() that queries using this implementation will enumerate and attempt to match(java.lang.String) each term for the specified field in the index.


Field Summary
static int FLAG_CANON_EQ
           
static int FLAG_CASE_INSENSITIVE
           
static int FLAG_COMMENTS
           
static int FLAG_DOTALL
           
static int FLAG_LITERAL
           
static int FLAG_MULTILINE
           
static int FLAG_UNICODE_CASE
           
static int FLAG_UNIX_LINES
           
 
Constructor Summary
JavaUtilRegexCapabilities()
          Default constructor that uses java.util.regex.Pattern with its default flags.
JavaUtilRegexCapabilities(int flags)
          Constructor that allows for the modification of the flags that the java.util.regex.Pattern will use to compile the regular expression.
 
Method Summary
 void compile(String pattern)
          Called by the constructor of RegexTermEnum allowing implementations to cache a compiled version of the regular expression pattern.
 boolean equals(Object o)
           
 int hashCode()
           
 boolean match(String string)
           
 String prefix()
          A wise prefix implementation can reduce the term enumeration (and thus increase performance) of RegexQuery dramatically!
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FLAG_CANON_EQ

public static final int FLAG_CANON_EQ
See Also:
Constant Field Values

FLAG_CASE_INSENSITIVE

public static final int FLAG_CASE_INSENSITIVE
See Also:
Constant Field Values

FLAG_COMMENTS

public static final int FLAG_COMMENTS
See Also:
Constant Field Values

FLAG_DOTALL

public static final int FLAG_DOTALL
See Also:
Constant Field Values

FLAG_LITERAL

public static final int FLAG_LITERAL
See Also:
Constant Field Values

FLAG_MULTILINE

public static final int FLAG_MULTILINE
See Also:
Constant Field Values

FLAG_UNICODE_CASE

public static final int FLAG_UNICODE_CASE
See Also:
Constant Field Values

FLAG_UNIX_LINES

public static final int FLAG_UNIX_LINES
See Also:
Constant Field Values
Constructor Detail

JavaUtilRegexCapabilities

public JavaUtilRegexCapabilities()
Default constructor that uses java.util.regex.Pattern with its default flags.


JavaUtilRegexCapabilities

public JavaUtilRegexCapabilities(int flags)
Constructor that allows for the modification of the flags that the java.util.regex.Pattern will use to compile the regular expression. This gives the user the ability to fine-tune how the regular expression to match the functionality that they need. The Pattern class supports specifying these fields via the regular expression text itself, but this gives the caller another option to modify the behavior. Useful in cases where the regular expression text cannot be modified, or if doing so is undesired.

Parameters:
flags - The flags that are ORed together.
Method Detail

compile

public void compile(String pattern)
Description copied from interface: RegexCapabilities
Called by the constructor of RegexTermEnum allowing implementations to cache a compiled version of the regular expression pattern.

Specified by:
compile in interface RegexCapabilities
Parameters:
pattern - regular expression pattern

match

public boolean match(String string)
Specified by:
match in interface RegexCapabilities
Returns:
true if string matches the pattern last passed to RegexCapabilities.compile(java.lang.String).

prefix

public String prefix()
Description copied from interface: RegexCapabilities
A wise prefix implementation can reduce the term enumeration (and thus increase performance) of RegexQuery dramatically!

Specified by:
prefix in interface RegexCapabilities
Returns:
static non-regex prefix of the pattern last passed to RegexCapabilities.compile(java.lang.String). May return null.

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object