summaryrefslogtreecommitdiff
path: root/clformat/src/main/java/bjc/utils/ioutils/format
diff options
context:
space:
mode:
Diffstat (limited to 'clformat/src/main/java/bjc/utils/ioutils/format')
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java36
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/CaseDirective.java9
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/CharacterDirective.java4
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java4
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/Directive.java18
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java6
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/InflectDirective.java11
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/IterationDirective.java12
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/RadixDirective.java6
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/RecursiveDirective.java10
-rw-r--r--clformat/src/main/java/bjc/utils/ioutils/format/directives/TabulateDirective.java2
11 files changed, 66 insertions, 52 deletions
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java b/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java
index 9c79ec5..f330e42 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java
@@ -1,22 +1,35 @@
package bjc.utils.ioutils.format;
-import bjc.utils.esodata.SingleTape;
-import bjc.utils.esodata.Tape;
-import bjc.utils.ioutils.ReportWriter;
-import bjc.utils.ioutils.SimpleProperties;
-import bjc.utils.ioutils.format.directives.*;
-
-import java.io.InputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.StringWriter;
import java.io.Writer;
-
import java.util.HashMap;
import java.util.Map;
-import java.util.UnknownFormatConversionException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import bjc.utils.esodata.SingleTape;
+import bjc.utils.esodata.Tape;
+import bjc.utils.ioutils.ReportWriter;
+import bjc.utils.ioutils.SimpleProperties;
+import bjc.utils.ioutils.format.directives.AestheticDirective;
+import bjc.utils.ioutils.format.directives.CaseDirective;
+import bjc.utils.ioutils.format.directives.CharacterDirective;
+import bjc.utils.ioutils.format.directives.ConditionalDirective;
+import bjc.utils.ioutils.format.directives.Directive;
+import bjc.utils.ioutils.format.directives.EscapeDirective;
+import bjc.utils.ioutils.format.directives.FormatParameters;
+import bjc.utils.ioutils.format.directives.FreshlineDirective;
+import bjc.utils.ioutils.format.directives.GotoDirective;
+import bjc.utils.ioutils.format.directives.InflectDirective;
+import bjc.utils.ioutils.format.directives.IterationDirective;
+import bjc.utils.ioutils.format.directives.LiteralDirective;
+import bjc.utils.ioutils.format.directives.NumberDirective;
+import bjc.utils.ioutils.format.directives.RadixDirective;
+import bjc.utils.ioutils.format.directives.RecursiveDirective;
+import bjc.utils.ioutils.format.directives.TabulateDirective;
+
/**
* An implementation of CL's FORMAT.
*
@@ -190,7 +203,6 @@ public class CLFormatter {
* The format string to use.
* @param params
* The parameters for the string.
- * @return The formatted string.
*/
public void formatString(Writer target, String format, Iterable<Object> params) throws IOException {
ReportWriter rw = new ReportWriter(target);
@@ -209,10 +221,12 @@ public class CLFormatter {
*
* @param format
* The format to use.
- * @param sb
+ * @param rw
* The buffer to file output into.
* @param tParams
* The parameters to use.
+ * @param isToplevel Whether or not this is a top-level format
+ * @throws IOException If something goes wrong
*/
public void doFormatString(String format, ReportWriter rw, Tape<Object> tParams, boolean isToplevel) throws IOException {
Matcher dirMatcher = pFormatDirective.matcher(format);
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/CaseDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/CaseDirective.java
index 0135129..a21fd37 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/CaseDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/CaseDirective.java
@@ -1,17 +1,12 @@
package bjc.utils.ioutils.format.directives;
-import bjc.utils.ioutils.format.*;
-import bjc.utils.ioutils.ReportWriter;
-
import java.io.IOException;
import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.IllegalFormatConversionException;
-import java.util.List;
-import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import bjc.utils.ioutils.ReportWriter;
+
public class CaseDirective implements Directive {
private static final Pattern wordPattern = Pattern.compile("(\\w+)(\\b*)");
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/CharacterDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/CharacterDirective.java
index 1a2d196..d9ea3da 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/CharacterDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/CharacterDirective.java
@@ -1,10 +1,10 @@
package bjc.utils.ioutils.format.directives;
-import bjc.utils.ioutils.format.CLFormatter;
-
import java.io.IOException;
import java.util.IllegalFormatConversionException;
+import bjc.utils.ioutils.format.CLFormatter;
+
/**
* Implements the C directive.
*
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java
index 8b952ec..d660248 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/ConditionalDirective.java
@@ -1,13 +1,13 @@
package bjc.utils.ioutils.format.directives;
-import bjc.utils.ioutils.format.*;
-
import java.io.IOException;
import java.util.ArrayList;
import java.util.IllegalFormatConversionException;
import java.util.List;
import java.util.logging.Logger;
+import bjc.utils.ioutils.format.EscapeException;
+
/**
* Implements the [ directive.
*
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/Directive.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/Directive.java
index ab66752..73e2454 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/Directive.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/Directive.java
@@ -12,12 +12,17 @@ import java.io.IOException;
public interface Directive {
/**
* Execute this format directive.
- * @param dirParams TODO
- * @param sb
- * The buffer the string is being output to.
+ * @param dirParams
+ * The parameters for the directive.
+ * @throws IOException If something goes wrong.
*/
public void format(FormatParameters dirParams) throws IOException;
+ /**
+ * Check if a particular directive is an opening directive.
+ * @param str The directive to check.
+ * @return Whether or not the directive is opening.
+ */
public static boolean isOpening(String str) {
switch(str) {
case "(":
@@ -31,6 +36,11 @@ public interface Directive {
}
}
+ /**
+ * Check if a particular directive is an opening directive.
+ * @param str The directive to check.
+ * @return Whether or not the directive is opening.
+ */
public static boolean isClosing(String str) {
switch(str) {
case ")":
@@ -50,4 +60,4 @@ public interface Directive {
// stuff that Iteration/Conditional/CaseDirective do.
//
// The main issue is thinking of a good interface to it.
-}
+} \ No newline at end of file
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java
index ee86a33..1d0ecdc 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/GeneralNumberDirective.java
@@ -1,12 +1,12 @@
package bjc.utils.ioutils.format.directives;
+import java.io.IOException;
+
+import bjc.utils.ioutils.ReportWriter;
import bjc.utils.ioutils.format.CLModifiers;
import bjc.utils.ioutils.format.CLParameters;
-import bjc.utils.ioutils.ReportWriter;
import bjc.utils.math.NumberUtils;
-import java.io.IOException;
-
/**
* Implementation skeleton for number directives.
*
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/InflectDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/InflectDirective.java
index 48de9b3..2fe3903 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/InflectDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/InflectDirective.java
@@ -1,17 +1,12 @@
package bjc.utils.ioutils.format.directives;
-import bjc.inflexion.InflectionML;
-import bjc.utils.ioutils.format.*;
-import bjc.utils.ioutils.ReportWriter;
-
import java.io.IOException;
import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.IllegalFormatConversionException;
-import java.util.List;
-import java.util.logging.Logger;
import java.util.regex.Pattern;
+import bjc.inflexion.InflectionML;
+import bjc.utils.ioutils.ReportWriter;
+
public class InflectDirective implements Directive {
private static final Pattern wordPattern = Pattern.compile("(\\w+)(\\b*)");
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/IterationDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/IterationDirective.java
index c5e0fa0..2a702ea 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/IterationDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/IterationDirective.java
@@ -1,14 +1,14 @@
package bjc.utils.ioutils.format.directives;
-import bjc.utils.esodata.SingleTape;
-import bjc.utils.esodata.Tape;
-import bjc.utils.ioutils.format.*;
-
import java.io.IOException;
-
+import java.util.IllegalFormatConversionException;
import java.util.Iterator;
-import java.util.IllegalFormatConversionException;
+import bjc.utils.esodata.SingleTape;
+import bjc.utils.esodata.Tape;
+import bjc.utils.ioutils.format.CLFormatter;
+import bjc.utils.ioutils.format.CLParameters;
+import bjc.utils.ioutils.format.EscapeException;
/**
* Implements the { directive.
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/RadixDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/RadixDirective.java
index b75154e..4696c60 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/RadixDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/RadixDirective.java
@@ -1,12 +1,12 @@
package bjc.utils.ioutils.format.directives;
+import java.io.IOException;
+import java.util.IllegalFormatConversionException;
+
import bjc.utils.ioutils.format.CLFormatter;
import bjc.utils.ioutils.format.CLParameters;
import bjc.utils.math.NumberUtils;
-import java.io.IOException;
-import java.util.IllegalFormatConversionException;
-
/**
* Generalized radix directive.
*
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/RecursiveDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/RecursiveDirective.java
index dddae77..d4dcbb2 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/RecursiveDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/RecursiveDirective.java
@@ -1,12 +1,12 @@
package bjc.utils.ioutils.format.directives;
-import bjc.utils.esodata.SingleTape;
-import bjc.utils.esodata.Tape;
-import bjc.utils.ioutils.format.*;
-
+import java.io.IOException;
import java.util.IllegalFormatConversionException;
-import java.io.IOException;
+import bjc.utils.esodata.SingleTape;
+import bjc.utils.esodata.Tape;
+import bjc.utils.ioutils.format.CLFormatter;
+import bjc.utils.ioutils.format.EscapeException;
public class RecursiveDirective implements Directive {
public void format(FormatParameters dirParams) throws IOException {
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/TabulateDirective.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/TabulateDirective.java
index eb8aa4f..d0bd55b 100644
--- a/clformat/src/main/java/bjc/utils/ioutils/format/directives/TabulateDirective.java
+++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/TabulateDirective.java
@@ -2,7 +2,7 @@ package bjc.utils.ioutils.format.directives;
import java.io.IOException;
-import bjc.utils.ioutils.format.*;
+import bjc.utils.ioutils.format.CLParameters;
public class TabulateDirective implements Directive {
public void format(FormatParameters dirParams) throws IOException {