summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/parserutils
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/main/java/bjc/utils/parserutils')
-rw-r--r--base/src/main/java/bjc/utils/parserutils/StringDescaper.java28
-rw-r--r--base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java14
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java7
3 files changed, 46 insertions, 3 deletions
diff --git a/base/src/main/java/bjc/utils/parserutils/StringDescaper.java b/base/src/main/java/bjc/utils/parserutils/StringDescaper.java
index 59f4760..0beb7c8 100644
--- a/base/src/main/java/bjc/utils/parserutils/StringDescaper.java
+++ b/base/src/main/java/bjc/utils/parserutils/StringDescaper.java
@@ -12,6 +12,12 @@ import static java.util.Map.Entry;
import static bjc.utils.PropertyDB.getRegex;
+/**
+ * Customizable string descaping.
+ *
+ * @author EVE
+ *
+ */
public class StringDescaper {
private Logger LOGGER = Logger.getLogger(StringDescaper.class.getName());
@@ -37,6 +43,9 @@ public class StringDescaper {
private Map<String, String> literalEscapes;
private Map<Pattern, UnaryOperator<String>> specialEscapes;
+ /**
+ * Create a new string descaper.
+ */
public StringDescaper() {
literalEscapes = new HashMap<>();
specialEscapes = new HashMap<>();
@@ -45,6 +54,14 @@ public class StringDescaper {
escapePatt = Pattern.compile(rEscapeString);
}
+ /**
+ * Add a new literal string escape.
+ *
+ * @param escape
+ * The escape to add.
+ * @param val
+ * The value for the escape.
+ */
public void addLiteralEscape(String escape, String val) {
if(literalEscapes.containsKey(escape)) {
LOGGER.warning(String.format("Shadowing literal escape '%s'\n", escape));
@@ -53,6 +70,14 @@ public class StringDescaper {
literalEscapes.put(escape, val);
}
+ /**
+ * Create a new custom escape.
+ *
+ * @param escape
+ * The escape to add.
+ * @param val
+ * The implementation of the escape.
+ */
public void addSpecialEscape(String escape, UnaryOperator<String> val) {
/*
* Make sure this special escape is a valid regex.
@@ -77,6 +102,9 @@ public class StringDescaper {
specialEscapes.put(patt, val);
}
+ /**
+ * Compile the escapes.
+ */
public void compileEscapes() {
StringBuilder work = new StringBuilder();
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 5d206bd..d42f7d8 100644
--- a/base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java
+++ b/base/src/main/java/bjc/utils/parserutils/defines/SimpleDefine.java
@@ -4,10 +4,24 @@ import java.util.function.UnaryOperator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+/**
+ * A simple match-and-replace operation on strings.
+ *
+ * @author EVE
+ *
+ */
public class SimpleDefine implements UnaryOperator<String> {
private Pattern patt;
private String repl;
+ /**
+ * Create a new simple define.
+ *
+ * @param pattern
+ * The pattern to look for.
+ * @param replace
+ * The thing to replace it with.
+ */
public SimpleDefine(Pattern pattern, String replace) {
patt = pattern;
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java
index c96f72a..4e97008 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java
@@ -34,10 +34,11 @@ public class SimpleTokenSplitter implements TokenSplitter {
@Override
public IList<String> split(final String input) {
- if(keepDelim)
+ if(keepDelim) {
return RegexStringEditor.mapOccurances(input, spliter, ID.id(), ID.id());
- else
- return RegexStringEditor.mapOccurances(input, spliter, ID.id(), strang -> "");
+ }
+
+ return RegexStringEditor.mapOccurances(input, spliter, ID.id(), strang -> "");
}
@Override