Package io.micronaut.sourcegen.javapoet
Class CodeBlock
java.lang.Object
io.micronaut.sourcegen.javapoet.CodeBlock
A fragment of a .java file, potentially containing declarations, statements, and documentation.
Code blocks are not necessarily well-formed Java code, and are not validated. This class assumes
javac will check correctness later!
Code blocks support placeholders like Format. Where String.format(java.lang.String, java.lang.Object...)
uses percent % to reference target values, this class uses dollar sign $ and has
its own set of permitted placeholders:
$Lemits a literal value with no escaping. Arguments for literals may be strings, primitives, type declarations, annotations and even other code blocks.$Nemits a name, using name collision avoidance where necessary. Arguments for names may be strings (actually any character sequence), parameters, fields, methods, and types.$Sescapes the value as a string, wraps it with double quotes, and emits that. For example,6" sandwichis emitted"6\" sandwich".$Temits a type reference. Types will be imported if possible. Arguments for types may be classes, ,* type mirrors, and elements.$$emits a dollar sign.$Wemits a space or a newline, depending on its position on the line. This prefers to wrap lines before 100 columns.$Zacts as a zero-width space. This prefers to wrap lines before 100 columns.$>increases the indentation level.$<decreases the indentation level.$[begins a statement. For multiline statements, every line after the first line is double-indented.$]ends a statement.
-
Method Details
-
isEmpty
public boolean isEmpty() -
equals
-
hashCode
public int hashCode() -
toString
-
of
-
concat
ConcatenatescodeBlocksinto a singleCodeBlock. -
join
JoinscodeBlocksinto a singleCodeBlock, each separated byseparator. For example, joiningString s,Object oandint iusing", "would produceString s, Object o, int i. -
joining
-
joining
-
builder
-
toBuilder
-