public final Matcher matcher;
+ private Tokenizer tokenizer;
- public TokenizerMatch(final String token, final Terminator terminator, Matcher matcher) {
+ public TokenizerMatch(final String token, final Terminator terminator, Matcher matcher, Tokenizer tokenizer) {
this.token = token;
this.terminator = terminator;
this.matcher = matcher;
+ this.tokenizer = tokenizer;
}
public boolean isGroup(String group){
return terminator.group.equals(group);
}
+ public String[] getRegExpGroups(){
+ String[] result = new String[matcher.groupCount()];
+
+ for (int i = 0; i< result.length; i++){
+ result[i] = matcher.group(i+1);
+ }
+
+ return result;
+ }
+
@Override
public String toString() {
- return "TokenizerMatch{" +
- "token='" + token + '\'' +
- ", terminator=" + terminator +
- '}';
+ StringBuilder result = new StringBuilder();
+ result.append("TokenizerMatch\n" +
+ " token='" + token + "'\n" +
+ " terminator=" + terminator + "\n" +
+ " groups:\n");
+
+ int i = 0;
+ for (String s : getRegExpGroups()) {
+ result.append(" " + i + ": " + s + "\n");
+ i++;
+ }
+
+ return result.toString();
+ }
+
+ public Tokenizer getTokenizer() {
+ return tokenizer;
}
}