public final class CodeBlock extends Object
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:
$L
emits a literal value with no escaping. Arguments for literals may be
strings, primitives, type declarations, annotations and even other code blocks.
$N
emits a name, using name collision avoidance where necessary. Arguments
for names may be strings (actually any character sequence),
parameters, fields, methods, and types.
$S
escapes the value as a string, wraps it with double quotes, and emits
that. For example, 6" sandwich
is emitted "6\" sandwich"
.
$T
emits a type reference. Types will be imported if possible. Arguments
for types may be classes, ,* type mirrors, and elements.
$$
emits a dollar sign.
$>
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.
Modifier and Type | Class and Description |
---|---|
static class |
CodeBlock.Builder |
Modifier and Type | Method and Description |
---|---|
static CodeBlock.Builder |
builder() |
boolean |
equals(Object o) |
int |
hashCode() |
boolean |
isEmpty() |
static CodeBlock |
of(String format,
Object... args) |
CodeBlock.Builder |
toBuilder() |
String |
toString() |
public boolean isEmpty()
public static CodeBlock.Builder builder()
public CodeBlock.Builder toBuilder()
Copyright © 2018 Square, Inc.. All rights reserved.