Use regular expressions as terminators
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / string / tokenizer / TokenizerMatch.java
1 /*
2  * Svjatoslav Commons - shared library of common functionality. Author: Svjatoslav Agejenko.
3  * This project is released under Creative Commons Zero (CC0) license.
4  */
5 package eu.svjatoslav.commons.string.tokenizer;
6
7 import java.util.regex.Matcher;
8
9 public class TokenizerMatch {
10
11     public final String token;
12
13     /**
14      * {@link Terminator} that matched current token
15      */
16     public final Terminator terminator;
17
18     public final Matcher matcher;
19
20
21     public TokenizerMatch(final String token, final Terminator terminator, Matcher matcher) {
22         this.token = token;
23         this.terminator = terminator;
24         this.matcher = matcher;
25     }
26
27     public boolean isGroup(String group){
28         if (terminator == null){
29             return group == null;
30         }
31
32         if (terminator.group == null){
33             return group == null;
34         }
35
36         return terminator.group.equals(group);
37     }
38
39     @Override
40     public String toString() {
41         return "TokenizerMatch{" +
42                 "token='" + token + '\'' +
43                 ", terminator=" + terminator +
44                 '}';
45     }
46 }