summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java
diff options
context:
space:
mode:
authorBen Culkin <scorpress@gmail.com>2020-10-06 20:05:00 -0400
committerBen Culkin <scorpress@gmail.com>2020-10-06 20:05:00 -0400
commit3a818da77acf50e7ea0d2c02d669cb67b9f114e3 (patch)
treea50b5bfe0490d9d6c585c695fc6369ef8936f470 /base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java
parenta7a87f682a039d4761112f1dedb9351f3d7a2bbf (diff)
Add unit tests for defines
Adds unit tests for SimpleDefine and IteratedDefine. This also fixes an issue with IteratedDefine, where once you had consumed a replacer, it was consumed for good; you couldn't use it in the future, even in a different call to apply(). This was fixed through the introduction of a new iterator type from esodata - ResettableIterator. See that project/type for more details on what exactly this does; but suffice to say, it allows to restore our iterator and re-iterate over the same elements on every call to apply.
Diffstat (limited to 'base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java')
-rw-r--r--base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java b/base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java
index b31d937..f20e22a 100644
--- a/base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java
+++ b/base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java
@@ -26,6 +26,18 @@ public class SimpleDefine implements UnaryOperator<String> {
repl = replace;
}
+
+ /**
+ * Create a new simple define.
+ *
+ * @param pattern
+ * The pattern to match against.
+ * @param replace
+ * The text to use as a replacement.
+ */
+ public SimpleDefine(String pattern, String replace) {
+ this(Pattern.compile(pattern), replace);
+ }
@Override
public String apply(String line) {