diff options
Diffstat (limited to 'clformat/src/main/java')
3 files changed, 51 insertions, 0 deletions
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/CompileContext.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/CompileContext.java new file mode 100644 index 0000000..34c3c0b --- /dev/null +++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/CompileContext.java @@ -0,0 +1,10 @@ +package bjc.utils.ioutils.format.directives; + +/** + * Encapsulates the state necessary for compiling Directives into Edicts. + * + * @author Ben Culkin + */ +public class CompileContext { + +} diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/Edict.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/Edict.java new file mode 100644 index 0000000..50134b2 --- /dev/null +++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/Edict.java @@ -0,0 +1,18 @@ +package bjc.utils.ioutils.format.directives; + +/** + * + * The compiled equivalent of {@link Directive}. + * + * @author Ben Culkin. + */ +@FunctionalInterface +public interface Edict { + /** + * Invoke this format directive. + * + * @param formCTX + * The state needed for this invocation. + */ + public void format(FormatContext formCTX); +} diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/directives/FormatContext.java b/clformat/src/main/java/bjc/utils/ioutils/format/directives/FormatContext.java new file mode 100644 index 0000000..95c984b --- /dev/null +++ b/clformat/src/main/java/bjc/utils/ioutils/format/directives/FormatContext.java @@ -0,0 +1,23 @@ +package bjc.utils.ioutils.format.directives; + +import bjc.utils.esodata.*; +import bjc.utils.ioutils.*; +import bjc.utils.ioutils.format.*; + +/** + * Encapsulates all of the state that is provided to edicts when they are + * formatted. + * + * @author Ben Culkin + */ +public class FormatContext { + /** + * The place where we write all of out outputs to. + */ + public ReportWriter writer; + + /** + * The parameters passed into invocation of formatting. + */ + public Tape<Object> items; +} |
