Package com.fasterxml.jackson.core
Class JsonFactoryBuilder
java.lang.Object
com.fasterxml.jackson.core.TSFBuilder<JsonFactory, JsonFactoryBuilder>
com.fasterxml.jackson.core.JsonFactoryBuilder
TSFBuilder
implementation for constructing vanilla JsonFactory
instances for reading/writing JSON encoded content.
NOTE: as of Jackson 2.x, use of JSON-specific builder is bit cumbersome
since JsonFactory
serves dual duty of base class AND actual
implementation for JSON backend. This will be fixed in Jackson 3.0.
- Since:
- 2.10
-
Field Summary
Modifier and TypeFieldDescriptionprotected CharacterEscapes
protected int
protected char
Character used for quoting field names (if field name quoting has not been disabled withJsonWriteFeature.QUOTE_FIELD_NAMES
) and JSON String values.protected SerializableString
Fields inherited from class com.fasterxml.jackson.core.TSFBuilder
_errorReportConfiguration, _factoryFeatures, _generatorDecorators, _inputDecorator, _outputDecorator, _recyclerPool, _streamReadConstraints, _streamReadFeatures, _streamWriteConstraints, _streamWriteFeatures, DEFAULT_FACTORY_FEATURE_FLAGS, DEFAULT_GENERATOR_FEATURE_FLAGS, DEFAULT_PARSER_FEATURE_FLAGS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Method for constructing actualTokenStreamFactory
instance, given configuration.Method for defining custom escapes factory uses forJsonGenerator
s it creates.configure
(JsonReadFeature f, boolean state) configure
(JsonWriteFeature f, boolean state) disable
(JsonReadFeature first, JsonReadFeature... other) disable
(JsonWriteFeature first, JsonWriteFeature... other) enable
(JsonReadFeature first, JsonReadFeature... other) enable
(JsonWriteFeature first, JsonWriteFeature... other) int
highestNonEscapedChar
(int maxNonEscaped) Method that allows specifying threshold beyond which all characters are automatically escaped (without checking possible custom escaping settings a lacharacterEscapes(com.fasterxml.jackson.core.io.CharacterEscapes)
: for example, to force escaping of all non-ASCII characters (set to 127), or all non-Latin-1 character (set to 255).char
quoteChar
(char ch) Method that allows specifying an alternate character used for quoting field names (if field name quoting has not been disabled withJsonWriteFeature.QUOTE_FIELD_NAMES
) and JSON String values.Method that allows overriding String used for separating root-level JSON values (default is single space character)rootValueSeparator
(String sep) Method that allows overriding String used for separating root-level JSON values (default is single space character)Methods inherited from class com.fasterxml.jackson.core.TSFBuilder
_copy, _legacyDisable, _legacyDisable, _legacyEnable, _legacyEnable, _this, addDecorator, configure, configure, configure, disable, disable, disable, disable, disable, enable, enable, enable, enable, enable, errorReportConfiguration, factoryFeaturesMask, inputDecorator, inputDecorator, outputDecorator, outputDecorator, recyclerPool, recyclerPool, streamReadConstraints, streamReadFeatures, streamWriteConstraints, streamWriteFeatures
-
Field Details
-
_characterEscapes
-
_rootValueSeparator
-
_maximumNonEscapedChar
protected int _maximumNonEscapedChar -
_quoteChar
protected char _quoteCharCharacter used for quoting field names (if field name quoting has not been disabled withJsonWriteFeature.QUOTE_FIELD_NAMES
) and JSON String values.
-
-
Constructor Details
-
JsonFactoryBuilder
public JsonFactoryBuilder() -
JsonFactoryBuilder
-
-
Method Details
-
enable
- Overrides:
enable
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
enable
- Overrides:
enable
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
disable
- Overrides:
disable
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
disable
- Overrides:
disable
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
configure
- Overrides:
configure
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
enable
- Overrides:
enable
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
enable
- Overrides:
enable
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
disable
- Overrides:
disable
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
disable
- Overrides:
disable
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
configure
- Overrides:
configure
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder>
-
characterEscapes
Method for defining custom escapes factory uses forJsonGenerator
s it creates.- Parameters:
esc
- CharacterEscapes to configure, if any;null
if none- Returns:
- This builder instance (to allow call chaining)
-
rootValueSeparator
Method that allows overriding String used for separating root-level JSON values (default is single space character)- Parameters:
sep
- Separator to use, if any; null means that no separator is automatically added- Returns:
- This builder instance (to allow call chaining)
-
rootValueSeparator
Method that allows overriding String used for separating root-level JSON values (default is single space character)- Parameters:
sep
- Separator to use, if any; null means that no separator is automatically added- Returns:
- This builder instance (to allow call chaining)
-
highestNonEscapedChar
Method that allows specifying threshold beyond which all characters are automatically escaped (without checking possible custom escaping settings a lacharacterEscapes(com.fasterxml.jackson.core.io.CharacterEscapes)
: for example, to force escaping of all non-ASCII characters (set to 127), or all non-Latin-1 character (set to 255). Default setting is "disabled", specified by passing value of0
(or negative numbers).NOTE! Lowest legal value (aside from marker 0) is 127: for ASCII range, other checks apply and this threshold is ignored. If value between [1, 126] is specified, 127 will be used instead.
- Parameters:
maxNonEscaped
- Highest character code that is NOT automatically escaped; if positive value above 0, or 0 to indicate that no automatic escaping is applied beside from what JSON specification requires (and possible custom escape settings). Values between 1 and 127 are all taken to behave as if 127 is specified: that is, no automatic escaping is applied in ASCII range.- Returns:
- This builder instance (to allow call chaining)
-
quoteChar
Method that allows specifying an alternate character used for quoting field names (if field name quoting has not been disabled withJsonWriteFeature.QUOTE_FIELD_NAMES
) and JSON String values.Default value is double-quote (
"
); typical alternative is single-quote/apostrophe ('
).- Parameters:
ch
- Character to use for quoting field names and JSON String values.- Returns:
- This builder instance (to allow call chaining)
-
characterEscapes
-
rootValueSeparator
-
highestNonEscapedChar
public int highestNonEscapedChar() -
quoteChar
public char quoteChar() -
build
Description copied from class:TSFBuilder
Method for constructing actualTokenStreamFactory
instance, given configuration.- Specified by:
build
in classTSFBuilder<JsonFactory,
JsonFactoryBuilder> - Returns:
TokenStreamFactory
build based on current configuration
-