blob: 2f3b16dd68cd9151ca0122413f4574d4be726258 (
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
|
package bjc.utils.parserutils.pattern;
import java.util.StringJoiner;
final class JoinerPatternPart implements PatternPart {
private final PatternPart[] parts;
private final String joiner;
JoinerPatternPart(PatternPart[] parts, String joiner) {
this.parts = parts;
this.joiner = joiner;
}
@Override
public String toRegex() {
StringJoiner sj = new StringJoiner(joiner);
for (PatternPart part : parts) sj.add(part.toRegex());
return sj.toString();
}
@Override
public boolean canOptimize() {
for (PatternPart part : parts)
if (!part.canOptimize()) return false;
return true;
}
}
|