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 String |
_objectFieldValueSeparatorWithSpaces |
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 Separators |
_separators |
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.
|
DEFAULT_SEPARATORS
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 g)
Method called after array start marker has been output,
and right before the first value is to be output.
|
void |
beforeObjectEntries(JsonGenerator g)
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) |
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 |
withSeparators(Separators separators)
Method for configuring separators for this pretty-printer to use
|
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 g)
Method called after an array value has been completely
output, and before another value is to be output.
|
void |
writeEndArray(JsonGenerator g,
int nrOfValues)
Method called after an Array value has been completely output
(minus closing bracket).
|
void |
writeEndObject(JsonGenerator g,
int nrOfEntries)
Method called after an Object value has been completely output
(minus closing curly bracket).
|
void |
writeObjectEntrySeparator(JsonGenerator g)
Method called after an object entry (field:value) has been completely
output, and before another value is to be output.
|
void |
writeObjectFieldValueSeparator(JsonGenerator g)
Method called after an object field has been output, but
before the value is output.
|
void |
writeRootValueSeparator(JsonGenerator g)
Method called after a root-level value has been completely
output, and before another value is to be output.
|
void |
writeStartArray(JsonGenerator g)
Method called when an Array value is to be output, before
any member/child values are output.
|
void |
writeStartObject(JsonGenerator g)
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
protected Separators _separators
protected String _objectFieldValueSeparatorWithSpaces
public DefaultPrettyPrinter()
public DefaultPrettyPrinter(String rootSeparator)
Note: simply constructs a SerializedString
out of parameter,
calls DefaultPrettyPrinter(SerializableString)
rootSeparator
- String to use as root value separatorpublic DefaultPrettyPrinter(SerializableString rootSeparator)
rootSeparator
- String to use as root value separatorpublic DefaultPrettyPrinter(DefaultPrettyPrinter base)
public DefaultPrettyPrinter(DefaultPrettyPrinter base, SerializableString rootSeparator)
public DefaultPrettyPrinter withRootSeparator(SerializableString rootSeparator)
public DefaultPrettyPrinter withRootSeparator(String rootSeparator)
rootSeparator
- Root-level value separator to usepublic void indentArraysWith(DefaultPrettyPrinter.Indenter i)
public void indentObjectsWith(DefaultPrettyPrinter.Indenter i)
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 withSeparators(Separators separators)
separators
- Separator definitions to usepublic DefaultPrettyPrinter createInstance()
Instantiatable
createInstance
in interface Instantiatable<DefaultPrettyPrinter>
public void writeRootValueSeparator(JsonGenerator g) 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
g
- Generator used for outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void writeStartObject(JsonGenerator g) 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
g
- Generator used for outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void beforeObjectEntries(JsonGenerator g) throws IOException
PrettyPrinter
Default handling does not output anything, but pretty-printer is free to add any white space decoration.
beforeObjectEntries
in interface PrettyPrinter
g
- Generator used for outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void writeObjectFieldValueSeparator(JsonGenerator g) 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
g
- Generator used for outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void writeObjectEntrySeparator(JsonGenerator g) 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
g
- Generator used for outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void writeEndObject(JsonGenerator g, 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
g
- Generator used for outputnrOfEntries
- Number of direct members of the Object that
have been outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void writeStartArray(JsonGenerator g) 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
g
- Generator used for outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void beforeArrayValues(JsonGenerator g) throws IOException
PrettyPrinter
Default handling does not output anything, but pretty-printer is free to add any white space decoration.
beforeArrayValues
in interface PrettyPrinter
g
- Generator used for outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void writeArrayValueSeparator(JsonGenerator g) 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
g
- Generator used for outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerpublic void writeEndArray(JsonGenerator g, 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
g
- Generator used for outputnrOfValues
- Number of direct members of the array that
have been outputIOException
- if there is either an underlying I/O problem or encoding
issue at format layerCopyright © 2021 JBoss by Red Hat. All rights reserved.