summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/ioutils/format
diff options
context:
space:
mode:
authorbjculkin <bjculkin@mix.wvu.edu>2018-02-12 22:19:02 -0500
committerbjculkin <bjculkin@mix.wvu.edu>2018-02-12 22:19:02 -0500
commit32f5da54c628408c96db09d279f3a7ef44b3bd19 (patch)
treeef56d04518b8791409ed65db58c304b74b23a01b /base/src/main/java/bjc/utils/ioutils/format
parent49cd96c4c5bbb883c0c5c10d7916ad2e93ff2df0 (diff)
Update
Diffstat (limited to 'base/src/main/java/bjc/utils/ioutils/format')
-rw-r--r--base/src/main/java/bjc/utils/ioutils/format/CLModifiers.java33
-rw-r--r--base/src/main/java/bjc/utils/ioutils/format/Directive.java29
-rw-r--r--base/src/main/java/bjc/utils/ioutils/format/EscapeException.java18
-rw-r--r--base/src/main/java/bjc/utils/ioutils/format/IterationDirective.java2
4 files changed, 73 insertions, 9 deletions
diff --git a/base/src/main/java/bjc/utils/ioutils/format/CLModifiers.java b/base/src/main/java/bjc/utils/ioutils/format/CLModifiers.java
index a695f2f..a535697 100644
--- a/base/src/main/java/bjc/utils/ioutils/format/CLModifiers.java
+++ b/base/src/main/java/bjc/utils/ioutils/format/CLModifiers.java
@@ -1,18 +1,45 @@
package bjc.utils.ioutils.format;
+/**
+ * A collection of the modifiers attached to a CL format directive.
+ *
+ * @author EVE
+ *
+ */
public class CLModifiers {
- public final boolean atMod;
- public final boolean colonMod;
+ /**
+ * Whether the at mod is on.
+ */
+ public final boolean atMod;
+ /**
+ * Whether the colon mod is on.
+ */
+ public final boolean colonMod;
+ /**
+ * Create a new set of CL modifiers.
+ *
+ * @param at
+ * The state of the at mod.
+ * @param colon
+ * The state of the colon mod.
+ */
public CLModifiers(boolean at, boolean colon) {
atMod = at;
colonMod = colon;
}
+ /**
+ * Create a set of modifiers from a modifier string.
+ *
+ * @param modString
+ * The string to parse modifiers from.
+ * @return A set of modifiers matching the string.
+ */
public static CLModifiers fromString(String modString) {
boolean atMod = false;
boolean colonMod = false;
- if (modString != null) {
+ if(modString != null) {
atMod = modString.contains("@");
colonMod = modString.contains(":");
}
diff --git a/base/src/main/java/bjc/utils/ioutils/format/Directive.java b/base/src/main/java/bjc/utils/ioutils/format/Directive.java
index 0b1e889..fb03bbc 100644
--- a/base/src/main/java/bjc/utils/ioutils/format/Directive.java
+++ b/base/src/main/java/bjc/utils/ioutils/format/Directive.java
@@ -4,11 +4,32 @@ import java.util.regex.Matcher;
import bjc.utils.esodata.Tape;
+/**
+ * A CL format directive.
+ *
+ * @author EVE
+ *
+ */
@FunctionalInterface
public interface Directive {
- /*
- * @TODO fill in parameters
+ /**
+ * Execute this format directive.
+ *
+ * @param sb
+ * The buffer the string is being output to.
+ * @param item
+ * The current parameter being passed
+ * @param mods
+ * The directive modifiers
+ * @param arrParams
+ * The prefix parameters to the directive
+ * @param tParams
+ * All of the provided format parameters
+ * @param dirMatcher
+ * The matcher for format directives
+ * @param fmt
+ * The formatter itself.
*/
- public void format(StringBuffer sb, Object item, CLModifiers mods,
- CLParameters arrParams, Tape<Object> tParams, Matcher dirMatcher, CLFormatter fmt);
+ public void format(StringBuffer sb, Object item, CLModifiers mods, CLParameters arrParams, Tape<Object> tParams,
+ Matcher dirMatcher, CLFormatter fmt);
} \ No newline at end of file
diff --git a/base/src/main/java/bjc/utils/ioutils/format/EscapeException.java b/base/src/main/java/bjc/utils/ioutils/format/EscapeException.java
index a1df55a..086f1cd 100644
--- a/base/src/main/java/bjc/utils/ioutils/format/EscapeException.java
+++ b/base/src/main/java/bjc/utils/ioutils/format/EscapeException.java
@@ -1,14 +1,32 @@
package bjc.utils.ioutils.format;
+/**
+ * An exception thrown to escape CL iteration directives.
+ *
+ * @author EVE
+ *
+ */
public class EscapeException extends RuntimeException {
private static final long serialVersionUID = -4552821131068559005L;
+ /**
+ * Whether or not this exception should end iteration.
+ */
public final boolean endIteration;
+ /**
+ * Create a new escape exception.
+ */
public EscapeException() {
endIteration = false;
}
+ /**
+ * Create a new escape exception.
+ *
+ * @param end
+ * Whether or not to end the iteration.
+ */
public EscapeException(boolean end) {
endIteration = end;
}
diff --git a/base/src/main/java/bjc/utils/ioutils/format/IterationDirective.java b/base/src/main/java/bjc/utils/ioutils/format/IterationDirective.java
index 353ff94..e13cb1c 100644
--- a/base/src/main/java/bjc/utils/ioutils/format/IterationDirective.java
+++ b/base/src/main/java/bjc/utils/ioutils/format/IterationDirective.java
@@ -2,9 +2,7 @@ package bjc.utils.ioutils.format;
import bjc.utils.esodata.Tape;
-import java.util.ArrayList;
import java.util.IllegalFormatConversionException;
-import java.util.List;
import java.util.regex.Matcher;
class IterationDirective implements Directive {