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 |
public boolean isEmpty()
public static CodeBlock.Builder builder()
public CodeBlock.Builder toBuilder()
Copyright © 2015 Square, Inc.. All Rights Reserved.