uk.org.ogsadai.activity.files.regexp
Class JavaMatcher

java.lang.Object
  |
  +--uk.org.ogsadai.activity.files.regexp.AbstractMatcher
        |
        +--uk.org.ogsadai.activity.files.regexp.JavaMatcher

public class JavaMatcher
extends AbstractMatcher

This class implements a matcher class designed around the Java 1.4 regular expression support. It wraps the java.util.regex.Matcher class to present an interface consistent with AbstractMatcher.

An instance of this class is typically obtained using the matcher() method on an instance of the JavaPattern class.

Author:
The OGSA-DAI Project Team
See Also:
JavaPattern.matcher()

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private  java.lang.String mInput
          The string which we will be searching for matches within.
private  java.util.regex.Matcher mMatcher
          The underlying java.util.regex.Matcher object.
private  java.util.regex.Pattern mPattern
          The regular expression which this matcher matches.
 
Fields inherited from class uk.org.ogsadai.activity.files.regexp.AbstractMatcher
mSearchOffset
 
Constructor Summary
JavaMatcher(java.util.regex.Pattern pattern)
          Construct a new matcher object intended to find matches of the given regular expression.
 
Method Summary
 int endOffset()
          Return the offset of the end of the most recent match of the regular expression found in the input text.
 boolean findNextMatch()
          Search the input string for the next occurrence of a match of the regular expression.
 java.lang.String group(int index)
          Returns the input subsequence captured by the given group during the previous match operation.
 int groupCount()
          Returns the number of capturing groups in this matcher's regular expression.
 void setInput(java.lang.String input)
          Register a string of text as the text over which this matcher object searches for occurrences of its regular expression.
 int startOffset()
          Return the offset of the start of the most recent match of the regular expression found in the input text.
 
Methods inherited from class uk.org.ogsadai.activity.files.regexp.AbstractMatcher
getSearchOffset, groups, setSearchOffset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPYRIGHT_NOTICE

private static final java.lang.String COPYRIGHT_NOTICE
Copyright statement

See Also:
Constant Field Values

mPattern

private java.util.regex.Pattern mPattern
The regular expression which this matcher matches.


mMatcher

private java.util.regex.Matcher mMatcher
The underlying java.util.regex.Matcher object.


mInput

private java.lang.String mInput
The string which we will be searching for matches within.

Constructor Detail

JavaMatcher

public JavaMatcher(java.util.regex.Pattern pattern)
Construct a new matcher object intended to find matches of the given regular expression.

Parameters:
pattern - the regular expression to find matches of
Method Detail

setInput

public void setInput(java.lang.String input)
Description copied from class: AbstractMatcher
Register a string of text as the text over which this matcher object searches for occurrences of its regular expression. After this text has been registered, occurrences can be located using the findNextMatch() method.

Specified by:
setInput in class AbstractMatcher
Parameters:
input - The string of text to search within

findNextMatch

public boolean findNextMatch()
                      throws java.lang.IllegalStateException
Description copied from class: AbstractMatcher
Search the input string for the next occurrence of a match of the regular expression. Iff such a match exists, this method returns true and causes the details regarding the match to be stored locally. These details include the offset in the entire input string of the start and the end positions of the match; and the actual text which matched the parenthesised groups in the regular expression this matcher matches.

Specified by:
findNextMatch in class AbstractMatcher
Returns:
true if another occurrence of a match of the regular expression exists;
false otherwise
Throws:
java.lang.IllegalStateException - if no text input has yet been registered via the setInput(String) method

startOffset

public int startOffset()
Description copied from class: AbstractMatcher
Return the offset of the start of the most recent match of the regular expression found in the input text.

Specified by:
startOffset in class AbstractMatcher
Returns:
the start offset

endOffset

public int endOffset()
Description copied from class: AbstractMatcher
Return the offset of the end of the most recent match of the regular expression found in the input text.

Specified by:
endOffset in class AbstractMatcher
Returns:
the end offset

groupCount

public int groupCount()
Description copied from class: AbstractMatcher
Returns the number of capturing groups in this matcher's regular expression. Note that group 0, denoting the entire match, is not included in this count.

Specified by:
groupCount in class AbstractMatcher
Returns:
the number of groups

group

public java.lang.String group(int index)
Description copied from class: AbstractMatcher
Returns the input subsequence captured by the given group during the previous match operation. Group 0 refers to the entire match. If a group was not matched or does not exist then null is returned.

Specified by:
group in class AbstractMatcher
Parameters:
index - the index of the capturing group, or zero
Returns:
the text matching the given group, or null