Package org.javacc.utils
Class CodeBuilder<B extends CodeBuilder<?>>
- java.lang.Object
-
- org.javacc.utils.CodeBuilder<B>
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
- Direct Known Subclasses:
CodeBuilder.GenericCodeBuilder
public abstract class CodeBuilder<B extends CodeBuilder<?>> extends java.lang.Object implements java.io.Closeable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCodeBuilder.GenericCodeBuilderTheCodeBuilder.GenericCodeBuilderclass.
-
Field Summary
Fields Modifier and Type Field Description private intccolprivate intclineprivate Contextcontextprivate java.io.Filefileprivate java.util.List<java.lang.String>optionprivate CodeGeneratorSettingsoptionsprivate java.util.Set<java.lang.String>toolsprivate java.lang.Stringversion
-
Constructor Summary
Constructors Modifier Constructor Description protectedCodeBuilder(Context context, CodeGeneratorSettings options)Constructs an instance ofCodeBuilder.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description BaddOption(java.lang.String... options)Add a tool.BaddTools(java.lang.String... tools)Add a tool.protected voidbuild()Write the buffer to the file.voidclose()java.lang.StringescapeToUnicode(java.lang.String text)protected abstract java.lang.StringBuffergetBuffer()Get theStringBufferprotected java.io.FilegetFile()Gets the targetFile.java.lang.StringgetLeadingComments(Token t)private java.lang.StringgetStringForTokenOnly(Token t)java.lang.StringgetTrailingComments(Token token)Bprint(java.lang.Object... code)Append code snippet to the builder.voidprintLeadingComments(Token t)Bprintln(java.lang.Object... code)Append code snippet to the builder & a new line.BprintTemplate(java.lang.String name)Append the processed template, optionally provides additional options.BprintTemplate(java.lang.String name, CodeGeneratorSettings additionalOptions)voidprintToken(Token t)voidprintTokenList(java.util.List<Token> list)voidprintTokenOnly(Token t)voidprintTokenSetup(Token token)voidprintTrailingComments(Token token)BsetFile(java.io.File file)Sets the targetFile.BsetVersion(java.lang.String version)Sets the compatible version.protected voidstore(java.io.File file, java.lang.StringBuffer buffer)static java.lang.StringtoString(Token token)Get the string representation of aToken.
-
-
-
Field Detail
-
context
private final Context context
-
options
private final CodeGeneratorSettings options
-
file
private java.io.File file
-
version
private java.lang.String version
-
tools
private final java.util.Set<java.lang.String> tools
-
option
private final java.util.List<java.lang.String> option
-
cline
private int cline
-
ccol
private int ccol
-
-
Constructor Detail
-
CodeBuilder
protected CodeBuilder(Context context, CodeGeneratorSettings options)
Constructs an instance ofCodeBuilder.- Parameters:
context-options-
-
-
Method Detail
-
getBuffer
protected abstract java.lang.StringBuffer getBuffer()
Get theStringBuffer
-
getFile
protected final java.io.File getFile()
Gets the targetFile.
-
setFile
public final B setFile(java.io.File file)
Sets the targetFile.- Parameters:
file-
-
setVersion
public final B setVersion(java.lang.String version)
Sets the compatible version.- Parameters:
version-
-
addTools
public final B addTools(java.lang.String... tools)
Add a tool.- Parameters:
tool-
-
addOption
public final B addOption(java.lang.String... options)
Add a tool.- Parameters:
tool-
-
print
public final B print(java.lang.Object... code)
Append code snippet to the builder.- Parameters:
code-
-
println
public final B println(java.lang.Object... code)
Append code snippet to the builder & a new line.- Parameters:
code-
-
printTemplate
public final B printTemplate(java.lang.String name) throws java.io.IOException
Append the processed template, optionally provides additional options.- Parameters:
name-additionalOptions-- Throws:
java.io.IOException
-
printTemplate
public final B printTemplate(java.lang.String name, CodeGeneratorSettings additionalOptions) throws java.io.IOException
- Throws:
java.io.IOException
-
build
protected void build()
Write the buffer to the file.
-
close
public final void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
store
protected final void store(java.io.File file, java.lang.StringBuffer buffer)
-
printTokenSetup
public final void printTokenSetup(Token token)
-
printTokenList
public final void printTokenList(java.util.List<Token> list)
-
printTokenOnly
public final void printTokenOnly(Token t)
-
getStringForTokenOnly
private java.lang.String getStringForTokenOnly(Token t)
-
escapeToUnicode
public java.lang.String escapeToUnicode(java.lang.String text)
-
printToken
public final void printToken(Token t)
-
printLeadingComments
public final void printLeadingComments(Token t)
-
getLeadingComments
public final java.lang.String getLeadingComments(Token t)
-
printTrailingComments
public final void printTrailingComments(Token token)
-
getTrailingComments
public final java.lang.String getTrailingComments(Token token)
-
-