From 98e6ac3f053ab2d8894514df3238cb5fd0101c98 Mon Sep 17 00:00:00 2001 From: bjculkin Date: Mon, 20 Mar 2017 16:20:38 -0400 Subject: Add sample predicated openers/closers This adds a sample predicated opener/closer pair based off of regular expressions. The opener accepts a regular expression and will provide all of its numbered captured groups. The closer accepts a format string and uses the parameters (capture groups) as the format parameters. --- .../bjc/utils/parserutils/delims/RegexCloser.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 BJC-Utils2/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java (limited to 'BJC-Utils2/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java new file mode 100644 index 0000000..9ec2353 --- /dev/null +++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java @@ -0,0 +1,22 @@ +package bjc.utils.parserutils.delims; + +import java.util.function.BiPredicate; + +public class RegexCloser implements BiPredicate { + private String rep; + + public RegexCloser(String closer) { + rep = closer; + } + + @Override + public boolean test(String closer, String[] params) { + /* + * Confirm passing an array instead of a single var-arg. + */ + String work = String.format(rep, (Object[]) params); + + return work.equals(closer); + } + +} \ No newline at end of file -- cgit v1.2.3