org.apache.commons.lang.text

Class StrMatcher

public abstract class StrMatcher extends 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 StrMatchercharMatcher(char ch)
Constructor that creates a matcher from a character.
static StrMatchercharSetMatcher(char[] chars)
Constructor that creates a matcher from a set of characters.
static StrMatchercharSetMatcher(String chars)
Constructor that creates a matcher from a string representing a set of characters.
static StrMatchercommaMatcher()
Returns a matcher which matches the comma character.
static StrMatcherdoubleQuoteMatcher()
Returns a matcher which matches the double quote character.
abstract intisMatch(char[] buffer, int pos, int bufferStart, int bufferEnd)
Returns the number of matching characters, zero for no match.
intisMatch(char[] buffer, int pos)
Returns the number of matching characters, zero for no match.
static StrMatchernoneMatcher()
Matches no characters.
static StrMatcherquoteMatcher()
Returns a matcher which matches the single or double quote character.
static StrMatchersingleQuoteMatcher()
Returns a matcher which matches the single quote character.
static StrMatcherspaceMatcher()
Returns a matcher which matches the space character.
static StrMatchersplitMatcher()
Matches the same characters as StringTokenizer, namely space, tab, newline and formfeed.
static StrMatcherstringMatcher(String str)
Constructor that creates a matcher from a string.
static StrMatchertabMatcher()
Returns a matcher which matches the tab character.
static StrMatchertrimMatcher()
Matches the String trim() whitespace characters.

Constructor Detail

StrMatcher

protected StrMatcher()
Constructor.

Method Detail

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(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

commaMatcher

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

Returns: a matcher for a comma

doubleQuoteMatcher

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

Returns: a matcher for a double quote

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

noneMatcher

public static StrMatcher noneMatcher()
Matches no characters.

Returns: a matcher that matches nothing

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

singleQuoteMatcher

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

Returns: a matcher for a single quote

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

stringMatcher

public static StrMatcher stringMatcher(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

tabMatcher

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

Returns: a matcher for a tab

trimMatcher

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

Returns: the trim matcher

Copyright © 2001-2011 - Apache Software Foundation