Class JsonFactoryBuilder


TSFBuilder implementation for constructing JsonFactory instances for reading/writing JSON encoded content.
  • Field Details

    • _characterEscapes

      protected CharacterEscapes _characterEscapes
    • _rootValueSeparator

      protected SerializableString _rootValueSeparator
    • _maximumNonEscapedChar

      protected int _maximumNonEscapedChar
    • _quoteChar

      protected char _quoteChar
      Character used for quoting Object Property names (if name quoting has not been disabled with JsonWriteFeature.QUOTE_PROPERTY_NAMES) and JSON String values.
  • Constructor Details

    • JsonFactoryBuilder

      public JsonFactoryBuilder()
    • JsonFactoryBuilder

      public JsonFactoryBuilder(JsonFactory base)
  • Method Details

    • enable

    • enable

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

      public JsonFactoryBuilder disable(JsonReadFeature f)
    • disable

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

      public JsonFactoryBuilder configure(JsonReadFeature f, boolean state)
    • enable

    • enable

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

    • disable

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

      public JsonFactoryBuilder configure(JsonWriteFeature f, boolean state)
    • configureForJackson2

      public JsonFactoryBuilder configureForJackson2()
      Description copied from class: TSFBuilder
      The builder returned uses default settings more closely matching the default configs used in Jackson 2.x versions.

      This method is still a work in progress and may not yet fully replicate the default settings of Jackson 2.x.

      Overrides:
      configureForJackson2 in class TSFBuilder<JsonFactory,JsonFactoryBuilder>
    • characterEscapes

      public JsonFactoryBuilder characterEscapes(CharacterEscapes esc)
      Method for defining custom escapes factory uses for JsonGenerators 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(tools.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 Object Property names (if name quoting has not been disabled with JsonWriteFeature.QUOTE_PROPERTY_NAMES) and JSON String values.

      Default value is double-quote ("); typical alternative is single-quote/apostrophe (').

      Parameters:
      ch - Character to use for quoting Object Property 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 using builder configuration settings