net.sf.mmm.util.pattern.base
Class RegexInfixPatternCompiler

java.lang.Object
  extended by net.sf.mmm.util.pattern.base.RegexPatternCompiler
      extended by net.sf.mmm.util.pattern.base.RegexInfixPatternCompiler
All Implemented Interfaces:
PatternCompiler

public class RegexInfixPatternCompiler
extends RegexPatternCompiler

This implementation of the PatternCompiler interface compiles the pattern given as string in a way similar to GNU-utilities like sed or grep. This means that if no leading "^" (or ".*") or no trailing "$" (or ".*") is present, an according ".*" prefix and suffix is added implicit. This causes that "\.xml$" matches "config.xml" and "^/etc/" matches "/etc/passwd".
ATTENTION:
On the matcher of the produced Pattern you may want to use Matcher.find() instead of Matcher.matches().

Since:
1.0.0
Author:
Joerg Hohwiller (hohwille at users.sourceforge.net)

Field Summary
static PatternCompiler INSTANCE
          A singleton instance of this implementation.
 
Constructor Summary
RegexInfixPatternCompiler()
          The constructor.
RegexInfixPatternCompiler(int flags)
          The constructor.
 
Method Summary
 Pattern compile(String pattern)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final PatternCompiler INSTANCE
A singleton instance of this implementation.

Constructor Detail

RegexInfixPatternCompiler

public RegexInfixPatternCompiler()
The constructor.


RegexInfixPatternCompiler

public RegexInfixPatternCompiler(int flags)
The constructor.

Parameters:
flags - are the compiler flags.
Method Detail

compile

public Pattern compile(String pattern)
                throws IllegalArgumentException

Specified by:
compile in interface PatternCompiler
Overrides:
compile in class RegexPatternCompiler
Parameters:
pattern - is the expression to be compiled as pattern.
Returns:
the compiled pattern. May only return null if explicitly documented by the underlying implementation. E.g. if the given pattern is just a plain string without wildcards.
Throws:
IllegalArgumentException - if the given pattern has illegal syntax for the underlying compiler.
See Also:
Pattern.compile(String)


Copyright © 2001-2010 mmm-Team. All Rights Reserved.