org.apache.commons.lang.text
Class StrMatcher

java.lang.Object
  extended byorg.apache.commons.lang.text.StrMatcher

public abstract class StrMatcher
extends java.lang.Object

A matcher class that can be queried to determine if a character array portion matches.

This class comes complete with various factory methods. If these do not suffice, you can subclass and implement your own matcher.

Since:
2.2
Version:
$Id: StrMatcher.java 618884 2008-02-06 04:37:17Z bayard $
Author:
Stephen Colebourne

Constructor Summary
protected StrMatcher()
          Constructor.
 
Method Summary
static StrMatcher charMatcher(char ch)
          Constructor that creates a matcher from a character.
static StrMatcher charSetMatcher(char[] chars)
          Constructor that creates a matcher from a set of characters.
static StrMatcher charSetMatcher(java.lang.String chars)
          Constructor that creates a matcher from a string representing a set of characters.
static StrMatcher commaMatcher()
          Returns a matcher which matches the comma character.
static StrMatcher doubleQuoteMatcher()
          Returns a matcher which matches the double quote character.
 int isMatch(char[] buffer, int pos)
          Returns the number of matching characters, zero for no match.
abstract  int isMatch(char[] buffer, int pos, int bufferStart, int bufferEnd)
          Returns the number of matching characters, zero for no match.
static StrMatcher noneMatcher()
          Matches no characters.
static StrMatcher quoteMatcher()
          Returns a matcher which matches the single or double quote character.
static StrMatcher singleQuoteMatcher()
          Returns a matcher which matches the single quote character.
static StrMatcher spaceMatcher()
          Returns a matcher which matches the space character.
static StrMatcher splitMatcher()
          Matches the same characters as StringTokenizer, namely space, tab, newline and formfeed.
static StrMatcher stringMatcher(java.lang.String str)
          Constructor that creates a matcher from a string.
static StrMatcher tabMatcher()
          Returns a matcher which matches the tab character.
static StrMatcher trimMatcher()
          Matches the String trim() whitespace characters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StrMatcher

protected StrMatcher()
Constructor.

Method Detail

commaMatcher

public static StrMatcher commaMatcher()
Returns a matcher which matches the comma character.

Returns:
a matcher for a comma

tabMatcher

public static StrMatcher tabMatcher()
Returns a matcher which matches the tab character.

Returns:
a matcher for a tab

spaceMatcher

public static StrMatcher spaceMatcher()
Returns a matcher which matches the space character.

Returns:
a matcher for a space

splitMatcher

public static StrMatcher splitMatcher()
Matches the same characters as StringTokenizer, namely space, tab, newline and formfeed.

Returns:
the split matcher

trimMatcher

public static StrMatcher trimMatcher()
Matches the String trim() whitespace characters.

Returns:
the trim matcher

singleQuoteMatcher

public static StrMatcher singleQuoteMatcher()
Returns a matcher which matches the single quote character.

Returns:
a matcher for a single quote

doubleQuoteMatcher

public static StrMatcher doubleQuoteMatcher()
Returns a matcher which matches the double quote character.

Returns:
a matcher for a double quote

quoteMatcher

public static StrMatcher quoteMatcher()
Returns a matcher which matches the single or double quote character.

Returns:
a matcher for a single or double quote

noneMatcher

public static StrMatcher noneMatcher()
Matches no characters.

Returns:
a matcher that matches nothing

charMatcher

public static StrMatcher charMatcher(char ch)
Constructor that creates a matcher from a character.

Parameters:
ch - the character to match, must not be null
Returns:
a new Matcher for the given char

charSetMatcher

public static StrMatcher charSetMatcher(char[] chars)
Constructor that creates a matcher from a set of characters.

Parameters:
chars - the characters to match, null or empty matches nothing
Returns:
a new matcher for the given char[]

charSetMatcher

public static StrMatcher charSetMatcher(java.lang.String chars)
Constructor that creates a matcher from a string representing a set of characters.

Parameters:
chars - the characters to match, null or empty matches nothing
Returns:
a new Matcher for the given characters

stringMatcher

public static StrMatcher stringMatcher(java.lang.String str)
Constructor that creates a matcher from a string.

Parameters:
str - the string to match, null or empty matches nothing
Returns:
a new Matcher for the given String

isMatch

public abstract int isMatch(char[] buffer,
                            int pos,
                            int bufferStart,
                            int bufferEnd)
Returns the number of matching characters, zero for no match.

This method is called to check for a match. The parameter pos represents the current position to be checked in the string buffer (a character array which must not be changed). The API guarantees that pos is a valid index for buffer.

The character array may be larger than the active area to be matched. Only values in the buffer between the specifed indices may be accessed.

The matching code may check one character or many. It may check characters preceeding pos as well as those after, so long as no checks exceed the bounds specified.

It must return zero for no match, or a positive number if a match was found. The number indicates the number of characters that matched.

Parameters:
buffer - the text content to match against, do not change
pos - the starting position for the match, valid for buffer
bufferStart - the first active index in the buffer, valid for buffer
bufferEnd - the end index (exclusive) of the active buffer, valid for buffer
Returns:
the number of matching characters, zero for no match

isMatch

public int isMatch(char[] buffer,
                   int pos)
Returns the number of matching characters, zero for no match.

This method is called to check for a match. The parameter pos represents the current position to be checked in the string buffer (a character array which must not be changed). The API guarantees that pos is a valid index for buffer.

The matching code may check one character or many. It may check characters preceeding pos as well as those after.

It must return zero for no match, or a positive number if a match was found. The number indicates the number of characters that matched.

Parameters:
buffer - the text content to match against, do not change
pos - the starting position for the match, valid for buffer
Returns:
the number of matching characters, zero for no match
Since:
2.4


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.