Top Description Inners Fields Constructors Methods
tools.jackson.core.util

public Class DefaultPrettyPrinter

extends Object
implements PrettyPrinter, Instantiatable<DefaultPrettyPrinter>, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, tools.jackson.core.util.Instantiatable, tools.jackson.core.PrettyPrinter
Annotations
@SuppressWarnings:serial
Imports
tools.jackson.core.*, tools.jackson.core.io.SerializedString

Default PrettyPrinter implementation that uses 2-space indentation with platform-default linefeeds. Usually this class is not instantiated directly, but instead instantiated by JsonFactory or databind level mapper.

If you override this class, take note of Instantiatable, as subclasses will still create an instance of DefaultPrettyPrinter.

This class is designed for the JSON data format. It works on other formats with same logical model (such as binary CBOR and Smile formats), but may not work as-is for other data formats, most notably XML. It may be necessary to use format-specific PrettyPrinter implementation specific to that format.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
DefaultPrettyPrinter.FixedSpaceIndenter

This is a very simple indenter that only adds a single space for indentation.

public static interface
DefaultPrettyPrinter.Indenter

Interface that defines objects that can produce indentation used to separate object entries and array values.

public static class
DefaultPrettyPrinter.NopIndenter

Dummy implementation that adds no indentation whatsoever

Field Summary

Modifier and TypeField and Description
protected final String
_arrayElementSeparator

Separator between Array elements, including possible before/after spaces.

protected final String
_arrayEmptySeparator

String to use in empty Array to separate start and end markers.

protected DefaultPrettyPrinter.Indenter
_arrayIndenter

By default, let's use only spaces to separate array values.

protected transient int
_nesting

Number of open levels of nesting.

protected final String
_objectEmptySeparator

String to use in empty Object to separate start and end markers.

protected final String
_objectEntrySeparator

Separator between Object property entries, including possible before/after spaces.

protected DefaultPrettyPrinter.Indenter
_objectIndenter

By default, let's use linefeed-adding indenter for separate object entries.

protected final String
_objectNameValueSeparator

Separator between Object property names and values, including possible before/after spaces.

protected final SerializableString
_rootValueSeparator

String printed between root-level values, if any.

protected final Separators
private static final long

Constructor Summary

AccessConstructor and Description
public
DefaultPrettyPrinter()

Default constructor for "vanilla" instance with default settings.

public
DefaultPrettyPrinter(Separators
Custom separator definition over defaults.
separators
)

Default constructor for "vanilla" instance with default settings, except for Separators overrides.

public
DefaultPrettyPrinter(DefaultPrettyPrinter
DefaultPrettyPrinter being copied
base
)

Copy constructor.

public
DefaultPrettyPrinter(DefaultPrettyPrinter
DefaultPrettyPrinter being copied
base
,
Separators
Separators to use instead of ones base had
separators
)

Copy constructor with override

Method Summary

Modifier and TypeMethod and Description
protected DefaultPrettyPrinter
_withSpaces(boolean state)

public void
beforeArrayValues(JsonGenerator g)

Implements tools.jackson.core.PrettyPrinter.beforeArrayValues.

Method called after array start marker has been output, and right before the first value is to be output.

public void
beforeObjectEntries(JsonGenerator g)

Implements tools.jackson.core.PrettyPrinter.beforeObjectEntries.

Method called after object start marker has been output, and right before the Name of the first property is to be output.

public DefaultPrettyPrinter
createInstance()

Implements tools.jackson.core.util.Instantiatable.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.

public void
public void
public DefaultPrettyPrinter
public DefaultPrettyPrinter
public DefaultPrettyPrinter

Returns:

This pretty-printer instance (for call chaining)
withSeparators
(Separators
Separator definitions to use
separators
)

Method for configuring separators for this pretty-printer to use

public void
writeArrayValueSeparator(JsonGenerator g)

Implements tools.jackson.core.PrettyPrinter.writeArrayValueSeparator.

Method called after an array value has been completely output, and before another value is to be output.

public void
writeEndArray(JsonGenerator g, int nrOfValues)

Implements tools.jackson.core.PrettyPrinter.writeEndArray.

Method called after an Array value has been completely output (minus closing bracket).

public void
writeEndObject(JsonGenerator g, int nrOfEntries)

Implements tools.jackson.core.PrettyPrinter.writeEndObject.

Method called after an Object value has been completely output (minus closing curly bracket).

public void
writeObjectEntrySeparator(JsonGenerator g)

Implements tools.jackson.core.PrettyPrinter.writeObjectEntrySeparator.

Method called after an object entry (field:value) has been completely output, and before another value is to be output.

public void
writeObjectNameValueSeparator(JsonGenerator g)

Implements tools.jackson.core.PrettyPrinter.writeObjectNameValueSeparator.

Method called after the object property name has been output, but before the value is output.

public void
writeRootValueSeparator(JsonGenerator g)

Implements tools.jackson.core.PrettyPrinter.writeRootValueSeparator.

Method called after a root-level value has been completely output, and before another value is to be output.

public void
writeStartArray(JsonGenerator g)

Implements tools.jackson.core.PrettyPrinter.writeStartArray.

Method called when an Array value is to be output, before any member/child values are output.

public void
writeStartObject(JsonGenerator g)

Implements tools.jackson.core.PrettyPrinter.writeStartObject.

Method called when an Object value is to be output, before any fields are output.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_arrayElementSeparatorback to summary
protected final String _arrayElementSeparator

Separator between Array elements, including possible before/after spaces.

_arrayEmptySeparatorback to summary
protected final String _arrayEmptySeparator

String to use in empty Array to separate start and end markers. Default is single space, resulting in output of [ ].

_arrayIndenterback to summary
protected DefaultPrettyPrinter.Indenter _arrayIndenter

By default, let's use only spaces to separate array values.

_nestingback to summary
protected transient int _nesting

Number of open levels of nesting. Used to determine amount of indentation to use.

_objectEmptySeparatorback to summary
protected final String _objectEmptySeparator

String to use in empty Object to separate start and end markers. Default is single space, resulting in output of { }.

_objectEntrySeparatorback to summary
protected final String _objectEntrySeparator

Separator between Object property entries, including possible before/after spaces.

_objectIndenterback to summary
protected DefaultPrettyPrinter.Indenter _objectIndenter

By default, let's use linefeed-adding indenter for separate object entries. We'll further configure indenter to use system-specific linefeeds, and 2 spaces per level (as opposed to, say, single tabs)

_objectNameValueSeparatorback to summary
protected final String _objectNameValueSeparator

Separator between Object property names and values, including possible before/after spaces.

_rootValueSeparatorback to summary
protected final SerializableString _rootValueSeparator

String printed between root-level values, if any.

_separatorsback to summary
protected final Separators _separators
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

DefaultPrettyPrinterback to summary
public DefaultPrettyPrinter()

Default constructor for "vanilla" instance with default settings.

DefaultPrettyPrinterback to summary
public DefaultPrettyPrinter(Separators separators)

Default constructor for "vanilla" instance with default settings, except for Separators overrides.

Parameters
separators:Separators

Custom separator definition over defaults.

DefaultPrettyPrinterback to summary
public DefaultPrettyPrinter(DefaultPrettyPrinter base)

Copy constructor.

Parameters
base:DefaultPrettyPrinter

DefaultPrettyPrinter being copied

DefaultPrettyPrinterback to summary
public DefaultPrettyPrinter(DefaultPrettyPrinter base, Separators separators)

Copy constructor with override

Parameters
base:DefaultPrettyPrinter

DefaultPrettyPrinter being copied

separators:Separators

Separators to use instead of ones base had

Method Detail

_withSpacesback to summary
protected DefaultPrettyPrinter _withSpaces(boolean state)
beforeArrayValuesback to summary
public void beforeArrayValues(JsonGenerator g) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.beforeArrayValues.

Doc from tools.jackson.core.PrettyPrinter.beforeArrayValues.

Method called after array start marker has been output, and right before the first value is to be output. It is not called for arrays with no values.

Default handling does not output anything, but pretty-printer is free to add any white space decoration.

Annotations
@Override
beforeObjectEntriesback to summary
public void beforeObjectEntries(JsonGenerator g) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.beforeObjectEntries.

Doc from tools.jackson.core.PrettyPrinter.beforeObjectEntries.

Method called after object start marker has been output, and right before the Name of the first property is to be output. It is not called for objects without properties.

Default handling does not output anything, but pretty-printer is free to add any white space decoration.

Annotations
@Override
createInstanceback to summary
public DefaultPrettyPrinter createInstance()

Implements tools.jackson.core.util.Instantiatable.createInstance.

Doc from tools.jackson.core.util.Instantiatable.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.

Annotations
@Override
indentArraysWithback to summary
public void indentArraysWith(DefaultPrettyPrinter.Indenter i)
indentObjectsWithback to summary
public void indentObjectsWith(DefaultPrettyPrinter.Indenter i)
withArrayIndenterback to summary
public DefaultPrettyPrinter withArrayIndenter(DefaultPrettyPrinter.Indenter i)
withObjectIndenterback to summary
public DefaultPrettyPrinter withObjectIndenter(DefaultPrettyPrinter.Indenter i)
withSeparatorsback to summary
public DefaultPrettyPrinter withSeparators(Separators separators)

Method for configuring separators for this pretty-printer to use

Parameters
separators:Separators

Separator definitions to use

Returns:DefaultPrettyPrinter

This pretty-printer instance (for call chaining)

writeArrayValueSeparatorback to summary
public void writeArrayValueSeparator(JsonGenerator g) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.writeArrayValueSeparator.

Method called after an array value has been completely output, and before another value is to be output.

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.

Annotations
@Override
writeEndArrayback to summary
public void writeEndArray(JsonGenerator g, int nrOfValues) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.writeEndArray.

Doc from tools.jackson.core.PrettyPrinter.writeEndArray.

Method called after an Array value has been completely output (minus closing bracket).

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.

Annotations
@Override
writeEndObjectback to summary
public void writeEndObject(JsonGenerator g, int nrOfEntries) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.writeEndObject.

Doc from tools.jackson.core.PrettyPrinter.writeEndObject.

Method called after an Object value has been completely output (minus closing curly bracket).

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.

Annotations
@Override
writeObjectEntrySeparatorback to summary
public void writeObjectEntrySeparator(JsonGenerator g) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.writeObjectEntrySeparator.

Method called after an object entry (field:value) has been completely output, and before another value is to be output.

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.

Annotations
@Override
writeObjectNameValueSeparatorback to summary
public void writeObjectNameValueSeparator(JsonGenerator g) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.writeObjectNameValueSeparator.

Method called after the object property name has been output, but before the value is output.

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.

Annotations
@Override
writeRootValueSeparatorback to summary
public void writeRootValueSeparator(JsonGenerator g) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.writeRootValueSeparator.

Doc from tools.jackson.core.PrettyPrinter.writeRootValueSeparator.

Method called after a root-level value has been completely output, and before another value is to be output.

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).

Annotations
@Override
writeStartArrayback to summary
public void writeStartArray(JsonGenerator g) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.writeStartArray.

Doc from tools.jackson.core.PrettyPrinter.writeStartArray.

Method called when an Array value is to be output, before any member/child values are output.

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.

Annotations
@Override
writeStartObjectback to summary
public void writeStartObject(JsonGenerator g) throws JacksonException

Implements tools.jackson.core.PrettyPrinter.writeStartObject.

Doc from tools.jackson.core.PrettyPrinter.writeStartObject.

Method called when an Object value is to be output, before any fields are output.

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.

Annotations
@Override
tools.jackson.core.util back to summary

public Class DefaultPrettyPrinter.FixedSpaceIndenter

extends NopIndenter
Class Inheritance

This is a very simple indenter that only adds a single space for indentation. It is used as the default indenter for array values.

Field Summary

Modifier and TypeField and Description
private static final DefaultPrettyPrinter.FixedSpaceIndenter

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static DefaultPrettyPrinter.FixedSpaceIndenter
public boolean
public void

Field Detail

_fixedInstanceback to summary
private static final DefaultPrettyPrinter.FixedSpaceIndenter _fixedInstance

Constructor Detail

FixedSpaceIndenterback to summary
public FixedSpaceIndenter()

Method Detail

instanceback to summary
public static DefaultPrettyPrinter.FixedSpaceIndenter instance()

Hides tools.jackson.core.util.DefaultPrettyPrinter.NopIndenter.instance.

isInlineback to summary
public boolean isInline()

Overrides tools.jackson.core.util.DefaultPrettyPrinter.NopIndenter.isInline.

Implements tools.jackson.core.util.DefaultPrettyPrinter.Indenter.isInline.

Annotations
@Override
writeIndentationback to summary
public void writeIndentation(JsonGenerator g, int level) throws JacksonException

Overrides tools.jackson.core.util.DefaultPrettyPrinter.NopIndenter.writeIndentation.

Implements tools.jackson.core.util.DefaultPrettyPrinter.Indenter.writeIndentation.

Annotations
@Override
tools.jackson.core.util back to summary

public Interface DefaultPrettyPrinter.Indenter

Known Direct Implementers
tools.jackson.core.util.DefaultPrettyPrinter.NopIndenter

Interface that defines objects that can produce indentation used to separate object entries and array values. Indentation in this context just means insertion of white space, independent of whether linefeeds are output.

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

True if indenter is considered inline (does not add linefeeds), false otherwise
isInline
()

public void

Method Detail

isInlineback to summary
public boolean isInline()
Returns:boolean

True if indenter is considered inline (does not add linefeeds), false otherwise

writeIndentationback to summary
public void writeIndentation(JsonGenerator g, int level) throws JacksonException
tools.jackson.core.util back to summary

public Class DefaultPrettyPrinter.NopIndenter

extends Object
implements Indenter, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, tools.jackson.core.util.DefaultPrettyPrinter.Indenter
Known Direct Subclasses
tools.jackson.core.util.DefaultPrettyPrinter.FixedSpaceIndenter, tools.jackson.core.util.DefaultIndenter

Dummy implementation that adds no indentation whatsoever

Field Summary

Modifier and TypeField and Description
private static final DefaultPrettyPrinter.NopIndenter

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static DefaultPrettyPrinter.NopIndenter
public boolean
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_nopInstanceback to summary
private static final DefaultPrettyPrinter.NopIndenter _nopInstance

Constructor Detail

NopIndenterback to summary
public NopIndenter()

Method Detail

instanceback to summary
public static DefaultPrettyPrinter.NopIndenter instance()
isInlineback to summary
public boolean isInline()

Implements tools.jackson.core.util.DefaultPrettyPrinter.Indenter.isInline.

Annotations
@Override
writeIndentationback to summary
public void writeIndentation(JsonGenerator g, int level)

Implements tools.jackson.core.util.DefaultPrettyPrinter.Indenter.writeIndentation.

Annotations
@Override