Class StreamReadConstraints.Builder

java.lang.Object
com.fasterxml.jackson.core.StreamReadConstraints.Builder
Enclosing class:
StreamReadConstraints

public static final class StreamReadConstraints.Builder extends Object
  • Method Details

    • 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:
      IllegalArgumentException - if the maxNestingDepth is set to a negative value
    • maxDocumentLength

      public StreamReadConstraints.Builder maxDocumentLength(long maxDocLen)
      Sets the maximum allowed document length (for positive values over 0) or indicate that any length is acceptable (0 or negative number). The length is in input units of the input source, that is, in bytes or chars.
      Parameters:
      maxDocLen - the maximum allowed document if positive number above 0; otherwise (0 or negative number) means "unlimited".
      Returns:
      this builder
      Since:
      2.16
    • 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:
      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:
      IllegalArgumentException - if the maxStringLen is set to a negative value
    • maxNameLength

      public StreamReadConstraints.Builder maxNameLength(int maxNameLen)
      Sets the maximum name length (in chars or bytes, depending on input context). The default is 50,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.
      Parameters:
      maxNameLen - the maximum string length (in chars or bytes, depending on input context)
      Returns:
      this builder
      Throws:
      IllegalArgumentException - if the maxStringLen is set to a negative value
      Since:
      2.16.0
    • build

      public StreamReadConstraints build()