com.fasterxml.jackson.databind.util

## Class TokenBuffer.Segment

- java.lang.Object
- - com.fasterxml.jackson.databind.util.TokenBuffer.Segment

Enclosing class:
  TokenBuffer

    protected static final class TokenBuffer.Segment
    extends Object

Individual segment of TokenBuffer that can store up to 16 tokens (limited by 4 bits per token type marker requirement). Current implementation uses fixed length array; could alternatively use 16 distinct fields and switch statement (slightly more efficient storage, slightly slower access)

### Field Summary

Fields
`protected TreeMap<Integer,Object>` `_nativeIds` Lazily constructed Map for storing native type and object ids, if any
`protected TokenBuffer.Segment` `_next`
`protected Object[]` `_tokens`
`protected long` `_tokenTypes` Bit field used to store types of buffered tokens; 4 bits per token.
`static int` `TOKENS_PER_SEGMENT`

### Constructor Summary

Constructors
Constructor and Description
`TokenBuffer.Segment()`

### Method Summary

Methods
`TokenBuffer.Segment` `append(int index, JsonToken tokenType)`
`TokenBuffer.Segment` `append(int index, JsonToken tokenType, Object value)`
`TokenBuffer.Segment` `append(int index, JsonToken tokenType, Object objectId, Object typeId)`
`TokenBuffer.Segment` `append(int index, JsonToken tokenType, Object value, Object objectId, Object typeId)`
`Object` `get(int index)`
`boolean` `hasIds()` Accessor for checking whether this segment may have native type or object ids.
`TokenBuffer.Segment` `next()`
`int` `rawType(int index)`
`JsonToken` `type(int index)`

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

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

### Field Detail

#### TOKENS_PER_SEGMENT

    public static final int TOKENS_PER_SEGMENT

See Also:
  Constant Field Values

#### _next

    protected TokenBuffer.Segment _next

#### _tokenTypes

    protected long _tokenTypes

Bit field used to store types of buffered tokens; 4 bits per token. Value 0 is reserved for "not in use"

#### _tokens

    protected final Object[] _tokens

#### _nativeIds

    protected TreeMap<Integer,Object> _nativeIds

Lazily constructed Map for storing native type and object ids, if any

### Constructor Detail

#### TokenBuffer.Segment

    public TokenBuffer.Segment()

### Method Detail

#### type

    public JsonToken type(int index)

#### rawType

    public int rawType(int index)

#### get

    public Object get(int index)

#### next

    public TokenBuffer.Segment next()

#### hasIds

    public boolean hasIds()

Accessor for checking whether this segment may have native type or object ids.

#### append

    public TokenBuffer.Segment append(int index,
                             JsonToken tokenType)

#### append

    public TokenBuffer.Segment append(int index,
                             JsonToken tokenType,
                             Object objectId,
                             Object typeId)

#### append

    public TokenBuffer.Segment append(int index,
                             JsonToken tokenType,
                             Object value)

#### append

    public TokenBuffer.Segment append(int index,
                             JsonToken tokenType,
                             Object value,
                             Object objectId,
                             Object typeId)