Class StreamReadConstraints.Builder

  • Enclosing class:
    StreamReadConstraints

    public static final class StreamReadConstraints.Builder
    extends java.lang.Object
    • Method Detail

      • maxNestingDepth

        public StreamReadConstraints.Builder maxNestingDepth​(int maxNestingDepth)
        Sets the maximum nesting depth. The depth is a count of objects and arrays that have not been closed, `{` and `[` respectively.
        Parameters:
        maxNestingDepth - the maximum depth
        Returns:
        this builder
        Throws:
        java.lang.IllegalArgumentException - if the maxNestingDepth is set to a negative value
      • maxNumberLength

        public StreamReadConstraints.Builder maxNumberLength​(int maxNumLen)
        Sets the maximum number length (in chars or bytes, depending on input context). The default is 1000.
        Parameters:
        maxNumLen - the maximum number length (in chars or bytes, depending on input context)
        Returns:
        this builder
        Throws:
        java.lang.IllegalArgumentException - if the maxNumLen is set to a negative value
      • maxStringLength

        public StreamReadConstraints.Builder maxStringLength​(int maxStringLen)
        Sets the maximum string length (in chars or bytes, depending on input context). The default is 20,000,000. This limit is not exact, the limit is applied when we increase internal buffer sizes and an exception will happen at sizes greater than this limit. Some text values that are a little bigger than the limit may be treated as valid but no text values with sizes less than or equal to this limit will be treated as invalid.

        Setting this value to lower than the maxNumberLength(int) is not recommended.

        NOTE: Jackson 2.15.0 initially used a lower setting (5_000_000).

        Parameters:
        maxStringLen - the maximum string length (in chars or bytes, depending on input context)
        Returns:
        this builder
        Throws:
        java.lang.IllegalArgumentException - if the maxStringLen is set to a negative value