public class DefaultPrettyPrinter extends Object implements PrettyPrinter
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 every adds a
single space for indentation.
|
static class |
DefaultPrettyPrinter.Lf2SpacesIndenter
Default linefeed-based indenter uses system-specific linefeeds and
2 spaces for indentation per level.
|
static class |
DefaultPrettyPrinter.NopIndenter
Dummy implementation that adds no indentation whatsoever
|
Modifier and Type | Field and Description |
---|---|
protected Indenter |
_arrayIndenter
By default, let's use only spaces to separate array values.
|
protected int |
_nesting
Number of open levels of nesting.
|
protected Indenter |
_objectIndenter
By default, let's use linefeed-adding indenter for separate
object entries.
|
protected boolean |
_spacesInObjectEntries
By default we will add spaces around colons used to
separate object fields and values.
|
Constructor and Description |
---|
DefaultPrettyPrinter() |
Modifier and Type | Method and Description |
---|---|
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.
|
void |
indentArraysWith(Indenter i) |
void |
indentObjectsWith(Indenter i) |
void |
spacesInObjectEntries(boolean b) |
void |
writeArrayValueSeparator(JsonGenerator jg)
Method called after an array value has been completely
output, and before another value is to be output.
|
void |
writeEndArray(JsonGenerator jg,
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.
|
protected Indenter _arrayIndenter
protected Indenter _objectIndenter
protected boolean _spacesInObjectEntries
protected int _nesting
public void indentArraysWith(Indenter i)
public void indentObjectsWith(Indenter i)
public void spacesInObjectEntries(boolean b)
public void writeRootValueSeparator(JsonGenerator jg) throws IOException, JsonGenerationException
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
JsonGenerationException
public void writeStartObject(JsonGenerator jg) throws IOException, JsonGenerationException
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
JsonGenerationException
public void beforeObjectEntries(JsonGenerator jg) throws IOException, JsonGenerationException
PrettyPrinter
Default handling does not output anything, but pretty-printer is free to add any white space decoration.
beforeObjectEntries
in interface PrettyPrinter
IOException
JsonGenerationException
public void writeObjectFieldValueSeparator(JsonGenerator jg) throws IOException, JsonGenerationException
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
JsonGenerationException
public void writeObjectEntrySeparator(JsonGenerator jg) throws IOException, JsonGenerationException
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
JsonGenerationException
public void writeEndObject(JsonGenerator jg, int nrOfEntries) throws IOException, JsonGenerationException
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
JsonGenerationException
public void writeStartArray(JsonGenerator jg) throws IOException, JsonGenerationException
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
JsonGenerationException
public void beforeArrayValues(JsonGenerator jg) throws IOException, JsonGenerationException
PrettyPrinter
Default handling does not output anything, but pretty-printer is free to add any white space decoration.
beforeArrayValues
in interface PrettyPrinter
IOException
JsonGenerationException
public void writeArrayValueSeparator(JsonGenerator jg) throws IOException, JsonGenerationException
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
JsonGenerationException
public void writeEndArray(JsonGenerator jg, int nrOfValues) throws IOException, JsonGenerationException
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
JsonGenerationException