public class DefaultPrettyPrinter extends Object implements PrettyPrinter, Instantiatable<DefaultPrettyPrinter>, Serializable
PrettyPrinter
implementation that uses 2-space
indentation with platform-default linefeeds.
Usually this class is not instantiated directly, but instead
method JsonGenerator.useDefaultPrettyPrinter()
is
used, which will use an instance of this class for operation.Modifier and Type | Class and Description |
---|---|
static class |
DefaultPrettyPrinter.FixedSpaceIndenter
This is a very simple indenter that only adds a
single space for indentation.
|
static interface |
DefaultPrettyPrinter.Indenter
Interface that defines objects that can produce indentation used
to separate object entries and array values.
|
static class |
DefaultPrettyPrinter.NopIndenter
Dummy implementation that adds no indentation whatsoever
|
Modifier and Type | Field and Description |
---|---|
protected DefaultPrettyPrinter.Indenter |
_arrayIndenter
By default, let's use only spaces to separate array values.
|
protected int |
_nesting
Number of open levels of nesting.
|
protected DefaultPrettyPrinter.Indenter |
_objectIndenter
By default, let's use linefeed-adding indenter for separate
object entries.
|
protected SerializableString |
_rootSeparator
String printed between root-level values, if any.
|
protected boolean |
_spacesInObjectEntries
By default we will add spaces around colons used to
separate object fields and values.
|
static SerializedString |
DEFAULT_ROOT_VALUE_SEPARATOR
Constant that specifies default "root-level" separator to use between
root values: a single space character.
|
Constructor and Description |
---|
DefaultPrettyPrinter() |
DefaultPrettyPrinter(DefaultPrettyPrinter base) |
DefaultPrettyPrinter(DefaultPrettyPrinter base,
SerializableString rootSeparator) |
DefaultPrettyPrinter(SerializableString rootSeparator)
Constructor that specifies separator String to use between root values;
if null, no separator is printed.
|
DefaultPrettyPrinter(String rootSeparator)
Constructor that specifies separator String to use between root values;
if null, no separator is printed.
|
Modifier and Type | Method and Description |
---|---|
protected DefaultPrettyPrinter |
_withSpaces(boolean state) |
void |
beforeArrayValues(JsonGenerator jg)
Method called after array start marker has been output,
and right before the first value is to be output.
|
void |
beforeObjectEntries(JsonGenerator jg)
Method called after object start marker has been output,
and right before the field name of the first entry is
to be output.
|
DefaultPrettyPrinter |
createInstance()
Method called to ensure that we have a non-blueprint object to use;
it is either this object (if stateless), or a newly created object
with separate state.
|
void |
indentArraysWith(DefaultPrettyPrinter.Indenter i) |
void |
indentObjectsWith(DefaultPrettyPrinter.Indenter i) |
void |
spacesInObjectEntries(boolean b)
Deprecated.
Since 2.3 use
withSpacesInObjectEntries() and withoutSpacesInObjectEntries() |
DefaultPrettyPrinter |
withArrayIndenter(DefaultPrettyPrinter.Indenter i) |
DefaultPrettyPrinter |
withObjectIndenter(DefaultPrettyPrinter.Indenter i) |
DefaultPrettyPrinter |
withoutSpacesInObjectEntries()
"Mutant factory" method that will return a pretty printer instance
that does not use spaces inside object entries; if 'this' instance already
does this, it is returned; if not, a new instance will be constructed
and returned.
|
DefaultPrettyPrinter |
withRootSeparator(SerializableString rootSeparator) |
DefaultPrettyPrinter |
withRootSeparator(String rootSeparator) |
DefaultPrettyPrinter |
withSpacesInObjectEntries()
"Mutant factory" method that will return a pretty printer instance
that does use spaces inside object entries; if 'this' instance already
does this, it is returned; if not, a new instance will be constructed
and returned.
|
void |
writeArrayValueSeparator(JsonGenerator gen)
Method called after an array value has been completely
output, and before another value is to be output.
|
void |
writeEndArray(JsonGenerator gen,
int nrOfValues)
Method called after an Array value has been completely output
(minus closing bracket).
|
void |
writeEndObject(JsonGenerator jg,
int nrOfEntries)
Method called after an Object value has been completely output
(minus closing curly bracket).
|
void |
writeObjectEntrySeparator(JsonGenerator jg)
Method called after an object entry (field:value) has been completely
output, and before another value is to be output.
|
void |
writeObjectFieldValueSeparator(JsonGenerator jg)
Method called after an object field has been output, but
before the value is output.
|
void |
writeRootValueSeparator(JsonGenerator jg)
Method called after a root-level value has been completely
output, and before another value is to be output.
|
void |
writeStartArray(JsonGenerator jg)
Method called when an Array value is to be output, before
any member/child values are output.
|
void |
writeStartObject(JsonGenerator jg)
Method called when an Object value is to be output, before
any fields are output.
|
public static final SerializedString DEFAULT_ROOT_VALUE_SEPARATOR
protected DefaultPrettyPrinter.Indenter _arrayIndenter
protected DefaultPrettyPrinter.Indenter _objectIndenter
protected final SerializableString _rootSeparator
protected boolean _spacesInObjectEntries
protected transient int _nesting
public DefaultPrettyPrinter()
public DefaultPrettyPrinter(String rootSeparator)
Note: simply constructs a SerializedString
out of parameter,
calls DefaultPrettyPrinter(SerializableString)
rootSeparator
- public DefaultPrettyPrinter(SerializableString rootSeparator)
rootSeparator
- public DefaultPrettyPrinter(DefaultPrettyPrinter base)
public DefaultPrettyPrinter(DefaultPrettyPrinter base, SerializableString rootSeparator)
public DefaultPrettyPrinter withRootSeparator(SerializableString rootSeparator)
public DefaultPrettyPrinter withRootSeparator(String rootSeparator)
public void indentArraysWith(DefaultPrettyPrinter.Indenter i)
public void indentObjectsWith(DefaultPrettyPrinter.Indenter i)
@Deprecated public void spacesInObjectEntries(boolean b)
public DefaultPrettyPrinter withArrayIndenter(DefaultPrettyPrinter.Indenter i)
public DefaultPrettyPrinter withObjectIndenter(DefaultPrettyPrinter.Indenter i)
public DefaultPrettyPrinter withSpacesInObjectEntries()
public DefaultPrettyPrinter withoutSpacesInObjectEntries()
protected DefaultPrettyPrinter _withSpaces(boolean state)
public DefaultPrettyPrinter createInstance()
Instantiatable
createInstance
in interface Instantiatable<DefaultPrettyPrinter>
public void writeRootValueSeparator(JsonGenerator jg) throws IOException
PrettyPrinter
Default handling (without pretty-printing) will output a space, to allow values to be parsed correctly. Pretty-printer is to output some other suitable and nice-looking separator (tab(s), space(s), linefeed(s) or any combination thereof).
writeRootValueSeparator
in interface PrettyPrinter
IOException
public void writeStartObject(JsonGenerator jg) throws IOException
PrettyPrinter
Default handling (without pretty-printing) will output the opening curly bracket. Pretty-printer is to output a curly bracket as well, but can surround that with other (white-space) decoration.
writeStartObject
in interface PrettyPrinter
IOException
public void beforeObjectEntries(JsonGenerator jg) throws IOException
PrettyPrinter
Default handling does not output anything, but pretty-printer is free to add any white space decoration.
beforeObjectEntries
in interface PrettyPrinter
IOException
public void writeObjectFieldValueSeparator(JsonGenerator jg) throws IOException
Default handling (without pretty-printing) will output a single colon to separate the two. Pretty-printer is to output a colon as well, but can surround that with other (white-space) decoration.
writeObjectFieldValueSeparator
in interface PrettyPrinter
IOException
public void writeObjectEntrySeparator(JsonGenerator jg) throws IOException
Default handling (without pretty-printing) will output a single comma to separate the two. Pretty-printer is to output a comma as well, but can surround that with other (white-space) decoration.
writeObjectEntrySeparator
in interface PrettyPrinter
IOException
public void writeEndObject(JsonGenerator jg, int nrOfEntries) throws IOException
PrettyPrinter
Default handling (without pretty-printing) will output the closing curly bracket. Pretty-printer is to output a curly bracket as well, but can surround that with other (white-space) decoration.
writeEndObject
in interface PrettyPrinter
nrOfEntries
- Number of direct members of the array that
have been outputIOException
public void writeStartArray(JsonGenerator jg) throws IOException
PrettyPrinter
Default handling (without pretty-printing) will output the opening bracket. Pretty-printer is to output a bracket as well, but can surround that with other (white-space) decoration.
writeStartArray
in interface PrettyPrinter
IOException
public void beforeArrayValues(JsonGenerator jg) throws IOException
PrettyPrinter
Default handling does not output anything, but pretty-printer is free to add any white space decoration.
beforeArrayValues
in interface PrettyPrinter
IOException
public void writeArrayValueSeparator(JsonGenerator gen) throws IOException
Default handling (without pretty-printing) will output a single comma to separate the two. Pretty-printer is to output a comma as well, but can surround that with other (white-space) decoration.
writeArrayValueSeparator
in interface PrettyPrinter
IOException
public void writeEndArray(JsonGenerator gen, int nrOfValues) throws IOException
PrettyPrinter
Default handling (without pretty-printing) will output the closing bracket. Pretty-printer is to output a bracket as well, but can surround that with other (white-space) decoration.
writeEndArray
in interface PrettyPrinter
nrOfValues
- Number of direct members of the array that
have been outputIOException
Copyright © 2008-2016 FasterXML. All Rights Reserved.