java.lang.Object
org.jooq.JSONFormat
A JSON formatting type, which can be used to configure JSON imports /
exports.
The default format is the following, using header() equal to
true and applying JSONFormat.RecordFormat.ARRAY:
{"fields":[{"name":"field-1","type":"type-1"},
{"name":"field-2","type":"type-2"},
...,
{"name":"field-n","type":"type-n"}],
"records":[[value-1-1,value-1-2,...,value-1-n],
[value-2-1,value-2-2,...,value-2-n]]}
If header() is set to false, then the result is simply
the records array, either using JSONFormat.RecordFormat.ARRAY:
[[value-1-1,value-1-2,...,value-1-n],
[value-2-1,value-2-2,...,value-2-n]]
or, using JSONFormat.RecordFormat.OBJECT:
[{"field-1": value-1-1, "field-2": value-1-2,..., "field-n": value-1-n},
{"field-1": value-2-1, "field-2": value-2-2,..., "field-n": value-2-n}]
The type is immutable, meaning calls to setters like header(boolean)
do not modify the original reference, but return a new one instead.
- Author:
- Lukas Eder
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThe format ofnullvalues in JSON objects or arrays.static enumThe format of individual JSON records. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal @NotNull JSONFormat.NullFormatThe null format to be applied to arrays, defaulting toJSONFormat.NullFormat.NULL_ON_NULL.final @NotNull JSONFormatarrayNulls(JSONFormat.NullFormat newArrayNulls) The null format to be applied to arrays, defaulting toJSONFormat.NullFormat.NULL_ON_NULL.final booleanformat()The formatting flag.final @NotNull JSONFormatformat(boolean newFormat) The new value for the formatting flag, defaulting tofalse.final intThe global indentation applied on all levels.final @NotNull JSONFormatglobalIndent(int newGlobalIndent) The new global indentation size applied on all levels, defaulting to0.final booleanheader()Whether to emit a header row with column names, defaulting totrue.final @NotNull JSONFormatheader(boolean newHeader) Whether to emit a header row with column names, defaulting totrue.final intindent()The indentation size per level.final @NotNull JSONFormatindent(int newIndent) The new indentation size per level value, defaulting to2.final @NotNull StringindentString(int level) Convenience method to get an indentation string at a given level.final booleanmutable()Whether this configuration object is mutable.final @NotNull JSONFormatmutable(boolean newMutable) The new value for the mutable flag, defaulting tofalse.final @NotNull Stringnewline()The formatting flag.final @NotNull JSONFormatThe new newline character, defaulting to\n.final @NotNull JSONFormat.NullFormatThe null format to be applied to objects, defaulting toJSONFormat.NullFormat.NULL_ON_NULL.final @NotNull JSONFormatobjectNulls(JSONFormat.NullFormat newObjectNulls) The null format to be applied to objects, defaulting toJSONFormat.NullFormat.NULL_ON_NULL.final booleanfinal @NotNull JSONFormatquoteNested(boolean newQuoteNested) final @NotNull JSONFormat.RecordFormatThe record format to be applied, defaulting toJSONFormat.RecordFormat.ARRAY.final @NotNull JSONFormatrecordFormat(JSONFormat.RecordFormat newRecordFormat) The record format to be applied, defaulting toJSONFormat.RecordFormat.ARRAY.final booleanWhether to wrap single column records in therecordFormat().final @NotNull JSONFormatwrapSingleColumnRecords(boolean newWrapSingleColumnRecords) Whether to wrap single column records in therecordFormat().
-
Field Details
-
DEFAULT_FOR_RESULTS
-
DEFAULT_FOR_RECORDS
-
-
Constructor Details
-
JSONFormat
public JSONFormat()
-
-
Method Details
-
mutable
public final boolean mutable()Whether this configuration object is mutable. -
mutable
The new value for the mutable flag, defaulting tofalse. -
format
The new value for the formatting flag, defaulting tofalse. -
format
public final boolean format()The formatting flag. -
newline
The new newline character, defaulting to\n. -
newline
The formatting flag. -
globalIndent
The new global indentation size applied on all levels, defaulting to0. -
globalIndent
public final int globalIndent()The global indentation applied on all levels. -
indent
The new indentation size per level value, defaulting to2. -
indent
public final int indent()The indentation size per level. -
indentString
Convenience method to get an indentation string at a given level. -
header
Whether to emit a header row with column names, defaulting totrue. -
header
public final boolean header()Whether to emit a header row with column names, defaulting totrue. -
recordFormat
The record format to be applied, defaulting toJSONFormat.RecordFormat.ARRAY. -
recordFormat
The record format to be applied, defaulting toJSONFormat.RecordFormat.ARRAY. -
objectNulls
The null format to be applied to objects, defaulting toJSONFormat.NullFormat.NULL_ON_NULL. -
objectNulls
The null format to be applied to objects, defaulting toJSONFormat.NullFormat.NULL_ON_NULL. -
arrayNulls
The null format to be applied to arrays, defaulting toJSONFormat.NullFormat.NULL_ON_NULL. -
arrayNulls
The null format to be applied to arrays, defaulting toJSONFormat.NullFormat.NULL_ON_NULL. -
wrapSingleColumnRecords
@NotNull public final @NotNull JSONFormat wrapSingleColumnRecords(boolean newWrapSingleColumnRecords) Whether to wrap single column records in therecordFormat(). -
wrapSingleColumnRecords
public final boolean wrapSingleColumnRecords()Whether to wrap single column records in therecordFormat(). -
quoteNested
-
quoteNested
public final boolean quoteNested()
-