com.google.clearsilver.jsilver.compiler
Class JavaSourceWriter
java.lang.Object
com.google.clearsilver.jsilver.compiler.JavaSourceWriter
- All Implemented Interfaces:
- Closeable, Flushable
public class JavaSourceWriter
- extends Object
- implements Closeable, Flushable
Simple API for generating Java source code. Easier than lots of string manipulation.
Example
java = new JavaSourceWriter(out);
java.writeComment("// Auto generated file");
java.writePackage("com.something.mypackage");
java.writeImports(SomeClassToImport.class, Another.class);
java.startClass("SomeClass", "InterfaceA");
java.startMethod(Object.class.getMethod("toString"));
java.writeStatement(call("System.out.println", string("hello")));
java.endClass();
Note: For writing statements/expressions, staticly import the methods on JavaExpression
.
Method Summary |
void |
close()
|
void |
endAnonymousClass()
|
void |
endClass()
|
void |
endField()
|
void |
endIfBlock()
|
void |
endIfStartElseBlock()
|
void |
endLoop()
|
void |
endMethod()
|
void |
endScopedBlock()
|
void |
flush()
|
void |
startAnonymousClass(String baseClass,
JavaExpression... constructorArgs)
|
void |
startClass(String className,
String baseClassName,
String... interfaceNames)
|
void |
startField(String type,
JavaExpression name)
|
void |
startForLoop(JavaExpression start,
JavaExpression end,
JavaExpression increment)
|
void |
startIfBlock(JavaExpression expression)
|
void |
startIterableForLoop(String type,
String name,
JavaExpression expression)
|
void |
startMethod(Method method,
String... paramNames)
Start a method. |
void |
startScopedBlock()
|
void |
writeComment(String comment)
|
void |
writeExpression(JavaExpression expression)
|
void |
writeImports(Class... javaClasses)
|
static void |
writeJavaSymbol(PrintWriter out,
String symbol)
|
void |
writePackage(String packageName)
|
void |
writeStatement(JavaExpression expression)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JavaSourceWriter
public JavaSourceWriter(Writer out)
writePackage
public void writePackage(String packageName)
writeImports
public void writeImports(Class... javaClasses)
writeComment
public void writeComment(String comment)
startClass
public void startClass(String className,
String baseClassName,
String... interfaceNames)
startAnonymousClass
public void startAnonymousClass(String baseClass,
JavaExpression... constructorArgs)
endAnonymousClass
public void endAnonymousClass()
startMethod
public void startMethod(Method method,
String... paramNames)
- Start a method. The signature is based on that of an existing method.
startIfBlock
public void startIfBlock(JavaExpression expression)
endIfStartElseBlock
public void endIfStartElseBlock()
endIfBlock
public void endIfBlock()
startScopedBlock
public void startScopedBlock()
endScopedBlock
public void endScopedBlock()
startIterableForLoop
public void startIterableForLoop(String type,
String name,
JavaExpression expression)
startForLoop
public void startForLoop(JavaExpression start,
JavaExpression end,
JavaExpression increment)
endLoop
public void endLoop()
writeStatement
public void writeStatement(JavaExpression expression)
writeExpression
public void writeExpression(JavaExpression expression)
endMethod
public void endMethod()
endClass
public void endClass()
flush
public void flush()
- Specified by:
flush
in interface Flushable
close
public void close()
- Specified by:
close
in interface Closeable
writeJavaSymbol
public static void writeJavaSymbol(PrintWriter out,
String symbol)
startField
public void startField(String type,
JavaExpression name)
endField
public void endField()
Copyright © 2010-2012 Google. All Rights Reserved.