summaryrefslogtreecommitdiff
path: root/RGens/src/main/java/bjc/rgens/parser/RegexRuleCase.java
blob: 82417da102a6a601f61fa777ca175897c5ec81c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package bjc.rgens.parser;

import bjc.utils.funcdata.IList;

import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

public class RegexRuleCase extends RuleCase {
	private Pattern patt;

	public RegexRuleCase(IList<CaseElement> elements, String pattern) {
		super(RuleCase.CaseType.REGEX);

		elementList = elements;

		try {
			patt = Pattern.compile(pattern);
		} catch (PatternSyntaxException psex) {
			IllegalArgumentException iaex = 
				new IllegalArgumentException("This type requires a valid regular expression parameter");

			iaex.initCause(psex);

			throw iaex;
		}
	}

	public Pattern getPattern() {
		return patt;
	}
}