summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java')
-rw-r--r--base/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java b/base/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java
new file mode 100644
index 0000000..4b29949
--- /dev/null
+++ b/base/src/main/java/bjc/utils/parserutils/delims/RegexCloser.java
@@ -0,0 +1,33 @@
+package bjc.utils.parserutils.delims;
+
+import java.util.function.BiPredicate;
+
+/**
+ * A predicated closer for use with {@link RegexOpener}.
+ *
+ * @author bjculkin
+ *
+ */
+public class RegexCloser implements BiPredicate<String, String[]> {
+ private final String rep;
+
+ /**
+ * Create a new regex closer.
+ *
+ * @param closer
+ * The format string to use for closing.
+ */
+ public RegexCloser(final String closer) {
+ rep = closer;
+ }
+
+ @Override
+ public boolean test(final String closer, final String[] params) {
+ /*
+ * Confirm passing an array instead of a single var-arg.
+ */
+ final String work = String.format(rep, (Object[]) params);
+
+ return work.equals(closer);
+ }
+} \ No newline at end of file