com.fasterxml.jackson.core

## Class JsonFactoryBuilder

- java.lang.Object
- - com.fasterxml.jackson.core.TSFBuilder<JsonFactory,JsonFactoryBuilder>
  - - com.fasterxml.jackson.core.JsonFactoryBuilder

-     public class JsonFactoryBuilder
      extends TSFBuilder<JsonFactory,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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected CharacterEscapes` | `_characterEscapes`
    `protected int` | `_maximumNonEscapedChar`
    `protected char` | `_quoteChar` Character used for quoting field names (if field name quoting has not been disabled with `JsonWriteFeature.QUOTE_FIELD_NAMES`) and JSON String values.
    `protected SerializableString` | `_rootValueSeparator`

    - ### Fields inherited from class com.fasterxml.jackson.core.TSFBuilder

      `_factoryFeatures, _inputDecorator, _outputDecorator, _streamReadFeatures, _streamWriteFeatures, DEFAULT_FACTORY_FEATURE_FLAGS, DEFAULT_GENERATOR_FEATURE_FLAGS, DEFAULT_PARSER_FEATURE_FLAGS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JsonFactoryBuilder()`
    `JsonFactoryBuilder(JsonFactory base)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `JsonFactory` | `build()` Method for constructing actual `TokenStreamFactory` instance, given configuration.
    `CharacterEscapes` | `characterEscapes()`
    `JsonFactoryBuilder` | `characterEscapes(CharacterEscapes esc)` Method for defining custom escapes factory uses for `JsonGenerator`s it creates.
    `JsonFactoryBuilder` | `configure(JsonReadFeature f, boolean state)`
    `JsonFactoryBuilder` | `configure(JsonWriteFeature f, boolean state)`
    `JsonFactoryBuilder` | `disable(JsonReadFeature f)`
    `JsonFactoryBuilder` | `disable(JsonReadFeature first, JsonReadFeature... other)`
    `JsonFactoryBuilder` | `disable(JsonWriteFeature f)`
    `JsonFactoryBuilder` | `disable(JsonWriteFeature first, JsonWriteFeature... other)`
    `JsonFactoryBuilder` | `enable(JsonReadFeature f)`
    `JsonFactoryBuilder` | `enable(JsonReadFeature first, JsonReadFeature... other)`
    `JsonFactoryBuilder` | `enable(JsonWriteFeature f)`
    `JsonFactoryBuilder` | `enable(JsonWriteFeature first, JsonWriteFeature... other)`
    `int` | `highestNonEscapedChar()`
    `JsonFactoryBuilder` | `highestNonEscapedChar(int maxNonEscaped)` Method that allows specifying threshold beyond which all characters are automatically escaped (without checking possible custom escaping settings a la `characterEscapes(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()`
    `JsonFactoryBuilder` | `quoteChar(char ch)` Method that allows specifying an alternate character used for quoting field names (if field name quoting has not been disabled with `JsonWriteFeature.QUOTE_FIELD_NAMES`) and JSON String values.
    `SerializableString` | `rootValueSeparator()`
    `JsonFactoryBuilder` | `rootValueSeparator(SerializableString sep)` Method that allows overriding String used for separating root-level JSON values (default is single space character)
    `JsonFactoryBuilder` | `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

      `_legacyDisable, _legacyDisable, _legacyEnable, _legacyEnable, _this, configure, configure, configure, disable, disable, disable, disable, disable, enable, enable, enable, enable, enable, factoryFeaturesMask, inputDecorator, inputDecorator, outputDecorator, outputDecorator, streamReadFeatures, streamWriteFeatures`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### _characterEscapes

          protected CharacterEscapes _characterEscapes

    - #### _rootValueSeparator

          protected SerializableString _rootValueSeparator

    - #### _maximumNonEscapedChar

          protected int _maximumNonEscapedChar

    - #### _quoteChar

          protected char _quoteChar

      Character used for quoting field names (if field name quoting has not been disabled with `JsonWriteFeature.QUOTE_FIELD_NAMES`) and JSON String values.

  - ### Constructor Detail

    - #### JsonFactoryBuilder

          public JsonFactoryBuilder()

    - #### JsonFactoryBuilder

          public JsonFactoryBuilder(JsonFactory base)

  - ### Method Detail

    - #### enable

          public JsonFactoryBuilder enable(JsonReadFeature f)

      Overrides:
        `enable` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### enable

          public JsonFactoryBuilder enable(JsonReadFeature first,
                                           JsonReadFeature... other)

      Overrides:
        `enable` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### disable

          public JsonFactoryBuilder disable(JsonReadFeature f)

      Overrides:
        `disable` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### disable

          public JsonFactoryBuilder disable(JsonReadFeature first,
                                            JsonReadFeature... other)

      Overrides:
        `disable` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### configure

          public JsonFactoryBuilder configure(JsonReadFeature f,
                                              boolean state)

      Overrides:
        `configure` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### enable

          public JsonFactoryBuilder enable(JsonWriteFeature f)

      Overrides:
        `enable` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### enable

          public JsonFactoryBuilder enable(JsonWriteFeature first,
                                           JsonWriteFeature... other)

      Overrides:
        `enable` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### disable

          public JsonFactoryBuilder disable(JsonWriteFeature f)

      Overrides:
        `disable` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### disable

          public JsonFactoryBuilder disable(JsonWriteFeature first,
                                            JsonWriteFeature... other)

      Overrides:
        `disable` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### configure

          public JsonFactoryBuilder configure(JsonWriteFeature f,
                                              boolean state)

      Overrides:
        `configure` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`

    - #### characterEscapes

          public JsonFactoryBuilder characterEscapes(CharacterEscapes esc)

      Method for defining custom escapes factory uses for `JsonGenerator`s it creates.
      Parameters:
        `esc` - CharacterEscapes to configure, if any; `null` if none
      Returns:
        This builder instance (to allow call chaining)

    - #### rootValueSeparator

          public JsonFactoryBuilder rootValueSeparator(String sep)

      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

          public JsonFactoryBuilder rootValueSeparator(SerializableString sep)

      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

          public JsonFactoryBuilder highestNonEscapedChar(int maxNonEscaped)

      Method that allows specifying threshold beyond which all characters are automatically escaped (without checking possible custom escaping settings a la `characterEscapes(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 of `0` (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

          public JsonFactoryBuilder quoteChar(char ch)

      Method that allows specifying an alternate character used for quoting field names (if field name quoting has not been disabled with `JsonWriteFeature.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

          public CharacterEscapes characterEscapes()

    - #### rootValueSeparator

          public SerializableString rootValueSeparator()

    - #### highestNonEscapedChar

          public int highestNonEscapedChar()

    - #### quoteChar

          public char quoteChar()

    - #### build

          public JsonFactory build()

      Description copied from class: `TSFBuilder`
      Method for constructing actual `TokenStreamFactory` instance, given configuration.
      Specified by:
        `build` in class `TSFBuilder<JsonFactory,JsonFactoryBuilder>`
      Returns:
        `TokenStreamFactory` build based on current configuration

Copyright © 2008–2021 FasterXML. All rights reserved.