public final class JavaWriter
extends java.lang.Object
implements java.io.Closeable
| Constructor and Description |
|---|
JavaWriter(java.io.Writer out) |
| Modifier and Type | Method and Description |
|---|---|
JavaWriter |
beginControlFlow(java.lang.String controlFlow) |
JavaWriter |
beginInitializer(boolean isStatic)
Emits an initializer declaration.
|
JavaWriter |
beginMethod(java.lang.String returnType,
java.lang.String name,
int modifiers,
java.util.List<java.lang.String> parameters,
java.util.List<java.lang.String> throwsTypes)
Deprecated.
|
JavaWriter |
beginMethod(java.lang.String returnType,
java.lang.String name,
int modifiers,
java.lang.String... parameters)
Deprecated.
|
JavaWriter |
beginMethod(java.lang.String returnType,
java.lang.String name,
java.util.Set<javax.lang.model.element.Modifier> modifiers,
java.util.List<java.lang.String> parameters,
java.util.List<java.lang.String> throwsTypes)
Emit a method declaration.
|
JavaWriter |
beginMethod(java.lang.String returnType,
java.lang.String name,
java.util.Set<javax.lang.model.element.Modifier> modifiers,
java.lang.String... parameters)
Emit a method declaration.
|
JavaWriter |
beginType(java.lang.String type,
java.lang.String kind)
Emits a type declaration.
|
JavaWriter |
beginType(java.lang.String type,
java.lang.String kind,
int modifiers)
Deprecated.
|
JavaWriter |
beginType(java.lang.String type,
java.lang.String kind,
int modifiers,
java.lang.String extendsType,
java.lang.String... implementsTypes)
Deprecated.
|
JavaWriter |
beginType(java.lang.String type,
java.lang.String kind,
java.util.Set<javax.lang.model.element.Modifier> modifiers)
Emits a type declaration.
|
JavaWriter |
beginType(java.lang.String type,
java.lang.String kind,
java.util.Set<javax.lang.model.element.Modifier> modifiers,
java.lang.String extendsType,
java.lang.String... implementsTypes)
Emits a type declaration.
|
void |
close() |
java.lang.String |
compressType(java.lang.String type)
Try to compress a fully-qualified class name to only the class name.
|
JavaWriter |
emitAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Equivalent to
annotation(annotationType.getName(), emptyMap()). |
JavaWriter |
emitAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
java.util.Map<java.lang.String,?> attributes)
Equivalent to
annotation(annotationType.getName(), attributes). |
JavaWriter |
emitAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
java.lang.Object value)
Annotates the next element with
annotationType and a value. |
JavaWriter |
emitAnnotation(java.lang.String annotation)
Equivalent to
annotation(annotation, emptyMap()). |
JavaWriter |
emitAnnotation(java.lang.String annotation,
java.util.Map<java.lang.String,?> attributes)
Annotates the next element with
annotation and attributes. |
JavaWriter |
emitAnnotation(java.lang.String annotation,
java.lang.Object value)
Annotates the next element with
annotation and a value. |
JavaWriter |
emitEmptyLine() |
JavaWriter |
emitEnumValue(java.lang.String name) |
JavaWriter |
emitField(java.lang.String type,
java.lang.String name)
Emits a field declaration.
|
JavaWriter |
emitField(java.lang.String type,
java.lang.String name,
int modifiers)
Deprecated.
|
JavaWriter |
emitField(java.lang.String type,
java.lang.String name,
int modifiers,
java.lang.String initialValue)
Deprecated.
|
JavaWriter |
emitField(java.lang.String type,
java.lang.String name,
java.util.Set<javax.lang.model.element.Modifier> modifiers)
Emits a field declaration.
|
JavaWriter |
emitField(java.lang.String type,
java.lang.String name,
java.util.Set<javax.lang.model.element.Modifier> modifiers,
java.lang.String initialValue) |
JavaWriter |
emitImports(java.util.Collection<java.lang.String> types)
Emit an import for each
type in the provided Collection. |
JavaWriter |
emitImports(java.lang.String... types)
Emit an import for each
type provided. |
JavaWriter |
emitJavadoc(java.lang.String javadoc,
java.lang.Object... params)
Emits some Javadoc comments with line separated by
\n. |
JavaWriter |
emitPackage(java.lang.String packageName)
Emit a package declaration and empty line.
|
JavaWriter |
emitSingleLineComment(java.lang.String comment,
java.lang.Object... args)
Emits a single line comment.
|
JavaWriter |
emitStatement(java.lang.String pattern,
java.lang.Object... args) |
JavaWriter |
emitStaticImports(java.util.Collection<java.lang.String> types)
Emit a static import for each
type in the provided Collection. |
JavaWriter |
emitStaticImports(java.lang.String... types)
Emit a static import for each
type provided. |
JavaWriter |
endControlFlow() |
JavaWriter |
endControlFlow(java.lang.String controlFlow) |
JavaWriter |
endInitializer()
Ends the current initializer declaration.
|
JavaWriter |
endMethod()
Completes the current method declaration.
|
JavaWriter |
endType()
Completes the current type declaration.
|
JavaWriter |
nextControlFlow(java.lang.String controlFlow) |
static java.lang.String |
stringLiteral(java.lang.String data)
Returns the string literal representing
data, including wrapping quotes. |
static java.lang.String |
type(java.lang.Class<?> raw,
java.lang.String... parameters)
Build a string representation of a type and optionally its generic type arguments.
|
public JavaWriter(java.io.Writer out)
out - the stream to which Java source will be written. This should be a buffered stream.public JavaWriter emitPackage(java.lang.String packageName) throws java.io.IOException
java.io.IOExceptionpublic JavaWriter emitImports(java.lang.String... types) throws java.io.IOException
type provided. For the duration of the file, all references to
these classes will be automatically shortened.java.io.IOExceptionpublic JavaWriter emitImports(java.util.Collection<java.lang.String> types) throws java.io.IOException
type in the provided Collection. For the duration of
the file, all references to these classes will be automatically shortened.java.io.IOExceptionpublic JavaWriter emitStaticImports(java.lang.String... types) throws java.io.IOException
type provided. For the duration of the file,
all references to these classes will be automatically shortened.java.io.IOExceptionpublic JavaWriter emitStaticImports(java.util.Collection<java.lang.String> types) throws java.io.IOException
type in the provided Collection. For the
duration of the file, all references to these classes will be automatically shortened.java.io.IOExceptionpublic java.lang.String compressType(java.lang.String type)
public JavaWriter beginInitializer(boolean isStatic) throws java.io.IOException
isStatic - true if it should be an static initializer, false for an instance initializer.java.io.IOExceptionpublic JavaWriter endInitializer() throws java.io.IOException
java.io.IOExceptionpublic JavaWriter beginType(java.lang.String type, java.lang.String kind) throws java.io.IOException
kind - such as "class", "interface" or "enum".java.io.IOException@Deprecated public JavaWriter beginType(java.lang.String type, java.lang.String kind, int modifiers) throws java.io.IOException
beginType(String, String, Set)java.io.IOExceptionpublic JavaWriter beginType(java.lang.String type, java.lang.String kind, java.util.Set<javax.lang.model.element.Modifier> modifiers) throws java.io.IOException
kind - such as "class", "interface" or "enum".java.io.IOException@Deprecated public JavaWriter beginType(java.lang.String type, java.lang.String kind, int modifiers, java.lang.String extendsType, java.lang.String... implementsTypes) throws java.io.IOException
beginType(String, String, Set, String, String...)java.io.IOExceptionpublic JavaWriter beginType(java.lang.String type, java.lang.String kind, java.util.Set<javax.lang.model.element.Modifier> modifiers, java.lang.String extendsType, java.lang.String... implementsTypes) throws java.io.IOException
kind - such as "class", "interface" or "enum".extendsType - the class to extend, or null for no extends clause.java.io.IOExceptionpublic JavaWriter endType() throws java.io.IOException
java.io.IOExceptionpublic JavaWriter emitField(java.lang.String type, java.lang.String name) throws java.io.IOException
java.io.IOException@Deprecated public JavaWriter emitField(java.lang.String type, java.lang.String name, int modifiers) throws java.io.IOException
emitField(String, String, Set).java.io.IOExceptionpublic JavaWriter emitField(java.lang.String type, java.lang.String name, java.util.Set<javax.lang.model.element.Modifier> modifiers) throws java.io.IOException
java.io.IOException@Deprecated public JavaWriter emitField(java.lang.String type, java.lang.String name, int modifiers, java.lang.String initialValue) throws java.io.IOException
emitField(String, String, Set, String).java.io.IOExceptionpublic JavaWriter emitField(java.lang.String type, java.lang.String name, java.util.Set<javax.lang.model.element.Modifier> modifiers, java.lang.String initialValue) throws java.io.IOException
java.io.IOException@Deprecated public JavaWriter beginMethod(java.lang.String returnType, java.lang.String name, int modifiers, java.lang.String... parameters) throws java.io.IOException
beginMethod(String, String, Set, String...).java.io.IOExceptionpublic JavaWriter beginMethod(java.lang.String returnType, java.lang.String name, java.util.Set<javax.lang.model.element.Modifier> modifiers, java.lang.String... parameters) throws java.io.IOException
returnType - the method's return type, or null for constructors.name - the method name, or the fully qualified class name for constructors.modifiers - the set of modifiers to be applied to the methodparameters - alternating parameter types and names.java.io.IOException@Deprecated public JavaWriter beginMethod(java.lang.String returnType, java.lang.String name, int modifiers, java.util.List<java.lang.String> parameters, java.util.List<java.lang.String> throwsTypes) throws java.io.IOException
beginMethod(String, String, Set, List, List).java.io.IOExceptionpublic JavaWriter beginMethod(java.lang.String returnType, java.lang.String name, java.util.Set<javax.lang.model.element.Modifier> modifiers, java.util.List<java.lang.String> parameters, java.util.List<java.lang.String> throwsTypes) throws java.io.IOException
returnType - the method's return type, or null for constructors.name - the method name, or the fully qualified class name for constructors.modifiers - the set of modifiers to be applied to the methodparameters - alternating parameter types and names.throwsTypes - the classes to throw, or null for no throws clause.java.io.IOExceptionpublic JavaWriter emitJavadoc(java.lang.String javadoc, java.lang.Object... params) throws java.io.IOException
\n.java.io.IOExceptionpublic JavaWriter emitSingleLineComment(java.lang.String comment, java.lang.Object... args) throws java.io.IOException
java.io.IOExceptionpublic JavaWriter emitEmptyLine() throws java.io.IOException
java.io.IOExceptionpublic JavaWriter emitEnumValue(java.lang.String name) throws java.io.IOException
java.io.IOExceptionpublic JavaWriter emitAnnotation(java.lang.String annotation) throws java.io.IOException
annotation(annotation, emptyMap()).java.io.IOExceptionpublic JavaWriter emitAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType) throws java.io.IOException
annotation(annotationType.getName(), emptyMap()).java.io.IOExceptionpublic JavaWriter emitAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.lang.Object value) throws java.io.IOException
annotationType and a value.value - an object used as the default (value) parameter of the annotation. The value will
be encoded using Object.toString(); use stringLiteral(java.lang.String) for String values. Object
arrays are written one element per line.java.io.IOExceptionpublic JavaWriter emitAnnotation(java.lang.String annotation, java.lang.Object value) throws java.io.IOException
annotation and a value.value - an object used as the default (value) parameter of the annotation. The value will
be encoded using Object.toString(); use stringLiteral(java.lang.String) for String values. Object
arrays are written one element per line.java.io.IOExceptionpublic JavaWriter emitAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.util.Map<java.lang.String,?> attributes) throws java.io.IOException
annotation(annotationType.getName(), attributes).java.io.IOExceptionpublic JavaWriter emitAnnotation(java.lang.String annotation, java.util.Map<java.lang.String,?> attributes) throws java.io.IOException
annotation and attributes.attributes - a map from annotation attribute names to their values. Values are encoded
using Object.toString(); use stringLiteral(java.lang.String) for String values. Object arrays are
written one element per line.java.io.IOExceptionpublic JavaWriter emitStatement(java.lang.String pattern, java.lang.Object... args) throws java.io.IOException
pattern - a code pattern like "int i = %s". Newlines will be further indented. Should not
contain trailing semicolon.java.io.IOExceptionpublic JavaWriter beginControlFlow(java.lang.String controlFlow) throws java.io.IOException
controlFlow - the control flow construct and its code, such as "if (foo == 5)". Shouldn't
contain braces or newline characters.java.io.IOExceptionpublic JavaWriter nextControlFlow(java.lang.String controlFlow) throws java.io.IOException
controlFlow - the control flow construct and its code, such as "else if (foo == 10)".
Shouldn't contain braces or newline characters.java.io.IOExceptionpublic JavaWriter endControlFlow() throws java.io.IOException
java.io.IOExceptionpublic JavaWriter endControlFlow(java.lang.String controlFlow) throws java.io.IOException
controlFlow - the optional control flow construct and its code, such as
"while(foo == 20)". Only used for "do/while" control flows.java.io.IOExceptionpublic JavaWriter endMethod() throws java.io.IOException
java.io.IOExceptionpublic static java.lang.String stringLiteral(java.lang.String data)
data, including wrapping quotes.public static java.lang.String type(java.lang.Class<?> raw,
java.lang.String... parameters)
public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablejava.io.IOExceptionCopyright © 2013 Square, Inc.. All Rights Reserved.