com.fasterxml.jackson.core

## Class StreamReadConstraints.Builder

- java.lang.Object
- - com.fasterxml.jackson.core.StreamReadConstraints.Builder

Enclosing class:
  StreamReadConstraints

    public static final class StreamReadConstraints.Builder
    extends Object

### Method Summary

All Methods Instance Methods Concrete Methods
`StreamReadConstraints` `build()`
`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).
`StreamReadConstraints.Builder` `maxNameLength(int maxNameLen)` Sets the maximum name length (in chars or bytes, depending on input context).
`StreamReadConstraints.Builder` `maxNestingDepth(int maxNestingDepth)` Sets the maximum nesting depth.
`StreamReadConstraints.Builder` `maxNumberLength(int maxNumLen)` Sets the maximum number length (in chars or bytes, depending on input context).
`StreamReadConstraints.Builder` `maxStringLength(int maxStringLen)` Sets the maximum string length (in chars or bytes, depending on input context).
`StreamReadConstraints.Builder` `maxTokenCount(long maxTokenCount)` Sets the maximum allowed token count (for positive values over 0) or indicate that any count is acceptable (`0` or negative number).

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

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

### 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:
  `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 `byte`s or `char`s.

Parameters:
  `maxDocLen` - the maximum allowed document length if positive number above 0; otherwise (`0` or negative number) means "unlimited".
Returns:
  this builder
Since:
  2.16

#### maxTokenCount

    public StreamReadConstraints.Builder maxTokenCount(long maxTokenCount)

Sets the maximum allowed token count (for positive values over 0) or indicate that any count is acceptable (`0` or negative number).

A token is a single unit of input, such as a number, a string, an object start or end, or an array start or end.

Parameters:
  `maxTokenCount` - the maximum allowed token count if positive number above 0; otherwise (`0` or negative number) means "unlimited".
Returns:
  this builder
Since:
  2.18

#### 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()