Class TokenBuffer

java.lang.Object
com.fasterxml.jackson.core.JsonGenerator
com.fasterxml.jackson.databind.util.TokenBuffer
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Closeable, Flushable, AutoCloseable

public class TokenBuffer extends com.fasterxml.jackson.core.JsonGenerator
Utility class used for efficient storage of JsonToken sequences, needed for temporary buffering. Space efficient for different sequence lengths (especially so for smaller ones; but not significantly less efficient for larger), highly efficient for linear iteration and appending. Implemented as segmented/chunked linked list of tokens; only modifications are via appends.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected static final class 
     
    protected static final class 
    Individual segment of TokenBuffer that can store up to 16 tokens (limited by 4 bits per token type marker requirement).

    Nested classes/interfaces inherited from class com.fasterxml.jackson.core.JsonGenerator

    com.fasterxml.jackson.core.JsonGenerator.Feature
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
    Offset within last segment,
    protected boolean
     
    First segment, for contents this buffer has
    protected boolean
    Flag set during construction, if use of BigDecimal is to be forced on all floating-point values.
    protected int
    Bit flag composed of bits that indicate which JsonGenerator.Features are enabled.
    protected boolean
    Do we currently have a native type or object id buffered?
    protected boolean
     
    protected boolean
     
    Last segment of this buffer, one that is used for appending more tokens
    protected boolean
     
    protected com.fasterxml.jackson.core.ObjectCodec
    Object codec to use for stream-based object conversion through parser/generator interfaces.
    protected Object
    If native object ids supported, this is the id for following value (or first token of one) to be written.
    protected com.fasterxml.jackson.core.JsonStreamContext
    Parse context from "parent" parser (one from which content to buffer is read, if specified).
    protected com.fasterxml.jackson.core.StreamReadConstraints
     
    protected Object
    If native type ids supported, this is the id for following value (or first token of one) to be written.
    protected com.fasterxml.jackson.core.json.JsonWriteContext
     
    protected static final int
     

    Fields inherited from class com.fasterxml.jackson.core.JsonGenerator

    _cfgPrettyPrinter, DEFAULT_BINARY_WRITE_CAPABILITIES, DEFAULT_TEXTUAL_WRITE_CAPABILITIES, DEFAULT_WRITE_CAPABILITIES
  • Constructor Summary

    Constructors
    Constructor
    Description
    TokenBuffer(com.fasterxml.jackson.core.JsonParser p)
     
    TokenBuffer(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
     
    TokenBuffer(com.fasterxml.jackson.core.ObjectCodec codec, boolean hasNativeIds)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final void
    _appendEndMarker(com.fasterxml.jackson.core.JsonToken type)
    Specialized method used for appending a structural end Object/Array marker
    protected final void
    Specialized method used for appending a field name, appending either String or SerializableString.
    protected final void
    _appendStartMarker(com.fasterxml.jackson.core.JsonToken type)
    Specialized method used for appending a structural start Object/Array marker
    protected final void
    _appendValue(com.fasterxml.jackson.core.JsonToken type)
    Method used for appending token known to represent a "simple" scalar value where token is the only information
    protected final void
    _appendValue(com.fasterxml.jackson.core.JsonToken type, Object value)
    Method used for appending token known to represent a scalar value where there is additional content (text, number) beyond type token
    protected void
    _copyBufferContents(com.fasterxml.jackson.core.JsonParser p)
     
    protected void
     
    Helper method that will append contents of given buffer into this buffer.
    asCopyOfValue(com.fasterxml.jackson.core.JsonParser p)
    com.fasterxml.jackson.core.JsonParser
    Method used to create a JsonParser that can read contents stored in this buffer.
    com.fasterxml.jackson.core.JsonParser
    asParser(com.fasterxml.jackson.core.JsonParser src)
     
    com.fasterxml.jackson.core.JsonParser
    asParser(com.fasterxml.jackson.core.ObjectCodec codec)
    Method used to create a JsonParser that can read contents stored in this buffer.
    com.fasterxml.jackson.core.JsonParser
    asParser(com.fasterxml.jackson.core.StreamReadConstraints streamReadConstraints)
     
    com.fasterxml.jackson.core.JsonParser
    Same as:
    boolean
    Since we can efficiently store byte[], yes.
    boolean
     
    boolean
     
    void
     
    void
    copyCurrentEvent(com.fasterxml.jackson.core.JsonParser p)
     
    void
    copyCurrentStructure(com.fasterxml.jackson.core.JsonParser p)
     
    deserialize(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
    Helper method used by standard deserializer.
    com.fasterxml.jackson.core.JsonGenerator
    disable(com.fasterxml.jackson.core.JsonGenerator.Feature f)
     
    com.fasterxml.jackson.core.JsonGenerator
    enable(com.fasterxml.jackson.core.JsonGenerator.Feature f)
     
    com.fasterxml.jackson.core.JsonToken
     
    void
     
     
    com.fasterxml.jackson.core.ObjectCodec
     
    int
     
    final com.fasterxml.jackson.core.json.JsonWriteContext
     
    com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamWriteCapability>
     
    boolean
     
    boolean
    Accessor for checking whether this buffer has one or more tokens or not.
    boolean
    isEnabled(com.fasterxml.jackson.core.JsonGenerator.Feature f)
     
    overrideParentContext(com.fasterxml.jackson.core.JsonStreamContext ctxt)
    Method that allows explicitly specifying parent parse context to associate with contents of this buffer.
    com.fasterxml.jackson.core.JsonGenerator
    overrideStdFeatures(int values, int mask)
     
    void
    serialize(com.fasterxml.jackson.core.JsonGenerator gen)
    Helper method that will write all contents of this buffer using given JsonGenerator.
    com.fasterxml.jackson.core.JsonGenerator
    setCodec(com.fasterxml.jackson.core.ObjectCodec oc)
     
    com.fasterxml.jackson.core.JsonGenerator
    setFeatureMask(int mask)
    Deprecated.
     
    com.fasterxml.jackson.core.JsonGenerator
     
    com.fasterxml.jackson.core.Version
     
    void
    writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data, int offset, int len)
     
    int
    writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant, InputStream data, int dataLength)
    Although we could support this method, it does not necessarily make sense: we cannot make good use of streaming because buffer must hold all the data.
    void
    writeBoolean(boolean state)
     
    void
     
    final void
     
    final void
     
    void
    writeFieldName(com.fasterxml.jackson.core.SerializableString name)
     
    final void
     
    void
     
    void
    writeNumber(double d)
     
    void
    writeNumber(float f)
     
    void
    writeNumber(int i)
     
    void
    writeNumber(long l)
     
    void
    writeNumber(short i)
     
    void
    writeNumber(String encodedValue)
     
    void
     
    void
     
    void
     
    void
     
    void
    writeRaw(char c)
     
    void
    writeRaw(char[] text, int offset, int len)
     
    void
    writeRaw(com.fasterxml.jackson.core.SerializableString text)
     
    void
     
    void
    writeRaw(String text, int offset, int len)
     
    void
    writeRawUTF8String(byte[] text, int offset, int length)
     
    void
    writeRawValue(char[] text, int offset, int len)
     
    void
     
    void
    writeRawValue(String text, int offset, int len)
     
    final void
     
    void
     
    void
    writeStartArray(Object forValue, int size)
     
    final void
     
    void
     
    void
    writeStartObject(Object forValue, int size)
     
    void
    writeString(char[] text, int offset, int len)
     
    void
    writeString(com.fasterxml.jackson.core.SerializableString text)
     
    void
    writeString(Reader reader, int len)
     
    void
     
    void
    writeTree(com.fasterxml.jackson.core.TreeNode node)
     
    void
     
    void
    writeUTF8String(byte[] text, int offset, int length)
     

    Methods inherited from class com.fasterxml.jackson.core.JsonGenerator

    _constructWriteException, _constructWriteException, _constructWriteException, _constructWriteException, _copyCurrentContents, _copyCurrentFloatValue, _copyCurrentFloatValueExact, _copyCurrentIntValue, _copyCurrentStringValue, _reportError, _reportUnsupportedOperation, _throwInternal, _verifyOffsets, _writeSimpleObject, assignCurrentValue, canOmitFields, canUseSchema, canWriteFormattedNumbers, configure, copyCurrentEventExact, currentValue, getCharacterEscapes, getCurrentValue, getFormatFeatures, getHighestEscapedChar, getOutputBuffered, getOutputTarget, getPrettyPrinter, getSchema, isEnabled, overrideFormatFeatures, setCharacterEscapes, setCurrentValue, setHighestNonEscapedChar, setPrettyPrinter, setRootValueSeparator, setSchema, streamWriteConstraints, writeArray, writeArray, writeArray, writeArray, writeArrayFieldStart, writeBinary, writeBinary, writeBinary, writeBinaryField, writeBooleanField, writeFieldId, writeNullField, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeObjectRef, writeOmittedField, writePOJO, writePOJOField, writeRawValue, writeStartArray, writeStringField, writeTypePrefix, writeTypeSuffix

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • DEFAULT_GENERATOR_FEATURES

      protected static final int DEFAULT_GENERATOR_FEATURES
    • _objectCodec

      protected com.fasterxml.jackson.core.ObjectCodec _objectCodec
      Object codec to use for stream-based object conversion through parser/generator interfaces. If null, such methods cannot be used.
    • _parentContext

      protected com.fasterxml.jackson.core.JsonStreamContext _parentContext
      Parse context from "parent" parser (one from which content to buffer is read, if specified). Used, if available, when reading content, to present full context as if content was read from the original parser: this is useful in error reporting and sometimes processing as well.
    • _generatorFeatures

      protected int _generatorFeatures
      Bit flag composed of bits that indicate which JsonGenerator.Features are enabled.

      NOTE: most features have no effect on this class

    • _streamReadConstraints

      protected com.fasterxml.jackson.core.StreamReadConstraints _streamReadConstraints
      Since:
      2.15
    • _closed

      protected boolean _closed
    • _hasNativeTypeIds

      protected boolean _hasNativeTypeIds
      Since:
      2.3
    • _hasNativeObjectIds

      protected boolean _hasNativeObjectIds
      Since:
      2.3
    • _mayHaveNativeIds

      protected boolean _mayHaveNativeIds
      Since:
      2.3
    • _forceBigDecimal

      protected boolean _forceBigDecimal
      Flag set during construction, if use of BigDecimal is to be forced on all floating-point values.
      Since:
      2.7
    • _first

      protected TokenBuffer.Segment _first
      First segment, for contents this buffer has
    • _last

      protected TokenBuffer.Segment _last
      Last segment of this buffer, one that is used for appending more tokens
    • _appendAt

      protected int _appendAt
      Offset within last segment,
    • _typeId

      protected Object _typeId
      If native type ids supported, this is the id for following value (or first token of one) to be written.
    • _objectId

      protected Object _objectId
      If native object ids supported, this is the id for following value (or first token of one) to be written.
    • _hasNativeId

      protected boolean _hasNativeId
      Do we currently have a native type or object id buffered?
    • _writeContext

      protected com.fasterxml.jackson.core.json.JsonWriteContext _writeContext
  • Constructor Details

    • TokenBuffer

      public TokenBuffer(com.fasterxml.jackson.core.ObjectCodec codec, boolean hasNativeIds)
      Parameters:
      codec - Object codec to use for stream-based object conversion through parser/generator interfaces. If null, such methods cannot be used.
      hasNativeIds - Whether resulting JsonParser (if created) is considered to support native type and object ids
    • TokenBuffer

      public TokenBuffer(com.fasterxml.jackson.core.JsonParser p)
      Since:
      2.3
    • TokenBuffer

      public TokenBuffer(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt)
      Since:
      2.7
  • Method Details

    • asCopyOfValue

      @Deprecated public static TokenBuffer asCopyOfValue(com.fasterxml.jackson.core.JsonParser p) throws IOException
      Convenience method, equivalent to:
       TokenBuffer b = new TokenBuffer(p);
       b.copyCurrentStructure(p);
       return b;
      
      Throws:
      IOException
      Since:
      2.9
    • overrideParentContext

      public TokenBuffer overrideParentContext(com.fasterxml.jackson.core.JsonStreamContext ctxt)
      Method that allows explicitly specifying parent parse context to associate with contents of this buffer. Usually context is assigned at construction, based on given parser; but it is not always available, and may not contain intended context.
      Since:
      2.9
    • forceUseOfBigDecimal

      public TokenBuffer forceUseOfBigDecimal(boolean b)
      Since:
      2.7
    • version

      public com.fasterxml.jackson.core.Version version()
      Specified by:
      version in interface com.fasterxml.jackson.core.Versioned
      Specified by:
      version in class com.fasterxml.jackson.core.JsonGenerator
    • asParser

      public com.fasterxml.jackson.core.JsonParser asParser()
      Method used to create a JsonParser that can read contents stored in this buffer. Will use default _objectCodec for object conversions.

      Note: instances are not synchronized, that is, they are not thread-safe if there are concurrent appends to the underlying buffer.

      Returns:
      Parser that can be used for reading contents stored in this buffer
    • asParserOnFirstToken

      public com.fasterxml.jackson.core.JsonParser asParserOnFirstToken() throws IOException
      Same as:
        JsonParser p = asParser();
        p.nextToken();
        return p;
      
      Throws:
      IOException
      Since:
      2.9
    • asParser

      public com.fasterxml.jackson.core.JsonParser asParser(com.fasterxml.jackson.core.ObjectCodec codec)
      Method used to create a JsonParser that can read contents stored in this buffer.

      Note: instances are not synchronized, that is, they are not thread-safe if there are concurrent appends to the underlying buffer.

      Parameters:
      codec - Object codec to use for stream-based object conversion through parser/generator interfaces. If null, such methods cannot be used.
      Returns:
      Parser that can be used for reading contents stored in this buffer
    • asParser

      public com.fasterxml.jackson.core.JsonParser asParser(com.fasterxml.jackson.core.StreamReadConstraints streamReadConstraints)
      Parameters:
      streamReadConstraints - constraints for streaming reads
      Since:
      v2.15
    • asParser

      public com.fasterxml.jackson.core.JsonParser asParser(com.fasterxml.jackson.core.JsonParser src)
      Parameters:
      src - Parser to use for accessing source information like location, configured codec, streamReadConstraints
    • firstToken

      public com.fasterxml.jackson.core.JsonToken firstToken()
    • isEmpty

      public boolean isEmpty()
      Accessor for checking whether this buffer has one or more tokens or not.
      Returns:
      True if this buffer instance has no tokens
      Since:
      2.13
    • append

      public TokenBuffer append(TokenBuffer other) throws IOException
      Helper method that will append contents of given buffer into this buffer. Not particularly optimized; can be made faster if there is need.
      Returns:
      This buffer
      Throws:
      IOException
    • serialize

      public void serialize(com.fasterxml.jackson.core.JsonGenerator gen) throws IOException
      Helper method that will write all contents of this buffer using given JsonGenerator.

      Note: this method would be enough to implement JsonSerializer for TokenBuffer type; but we cannot have upwards references (from core to mapper package); and as such we also cannot take second argument.

      Throws:
      IOException
    • deserialize

      public TokenBuffer deserialize(com.fasterxml.jackson.core.JsonParser p, DeserializationContext ctxt) throws IOException
      Helper method used by standard deserializer.
      Throws:
      IOException
      Since:
      2.3
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • enable

      public com.fasterxml.jackson.core.JsonGenerator enable(com.fasterxml.jackson.core.JsonGenerator.Feature f)
      Specified by:
      enable in class com.fasterxml.jackson.core.JsonGenerator
    • disable

      public com.fasterxml.jackson.core.JsonGenerator disable(com.fasterxml.jackson.core.JsonGenerator.Feature f)
      Specified by:
      disable in class com.fasterxml.jackson.core.JsonGenerator
    • isEnabled

      public boolean isEnabled(com.fasterxml.jackson.core.JsonGenerator.Feature f)
      Specified by:
      isEnabled in class com.fasterxml.jackson.core.JsonGenerator
    • getFeatureMask

      public int getFeatureMask()
      Specified by:
      getFeatureMask in class com.fasterxml.jackson.core.JsonGenerator
    • setFeatureMask

      @Deprecated public com.fasterxml.jackson.core.JsonGenerator setFeatureMask(int mask)
      Deprecated.
      Specified by:
      setFeatureMask in class com.fasterxml.jackson.core.JsonGenerator
    • overrideStdFeatures

      public com.fasterxml.jackson.core.JsonGenerator overrideStdFeatures(int values, int mask)
      Overrides:
      overrideStdFeatures in class com.fasterxml.jackson.core.JsonGenerator
    • useDefaultPrettyPrinter

      public com.fasterxml.jackson.core.JsonGenerator useDefaultPrettyPrinter()
      Specified by:
      useDefaultPrettyPrinter in class com.fasterxml.jackson.core.JsonGenerator
    • setCodec

      public com.fasterxml.jackson.core.JsonGenerator setCodec(com.fasterxml.jackson.core.ObjectCodec oc)
      Specified by:
      setCodec in class com.fasterxml.jackson.core.JsonGenerator
    • getCodec

      public com.fasterxml.jackson.core.ObjectCodec getCodec()
      Specified by:
      getCodec in class com.fasterxml.jackson.core.JsonGenerator
    • getOutputContext

      public final com.fasterxml.jackson.core.json.JsonWriteContext getOutputContext()
      Specified by:
      getOutputContext in class com.fasterxml.jackson.core.JsonGenerator
    • canWriteBinaryNatively

      public boolean canWriteBinaryNatively()
      Since we can efficiently store byte[], yes.
      Overrides:
      canWriteBinaryNatively in class com.fasterxml.jackson.core.JsonGenerator
    • getWriteCapabilities

      public com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamWriteCapability> getWriteCapabilities()
      Overrides:
      getWriteCapabilities in class com.fasterxml.jackson.core.JsonGenerator
    • flush

      public void flush() throws IOException
      Specified by:
      flush in interface Flushable
      Specified by:
      flush in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • isClosed

      public boolean isClosed()
      Specified by:
      isClosed in class com.fasterxml.jackson.core.JsonGenerator
    • writeStartArray

      public final void writeStartArray() throws IOException
      Specified by:
      writeStartArray in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeStartArray

      public void writeStartArray(Object forValue) throws IOException
      Overrides:
      writeStartArray in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeStartArray

      public void writeStartArray(Object forValue, int size) throws IOException
      Overrides:
      writeStartArray in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeEndArray

      public final void writeEndArray() throws IOException
      Specified by:
      writeEndArray in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeStartObject

      public final void writeStartObject() throws IOException
      Specified by:
      writeStartObject in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeStartObject

      public void writeStartObject(Object forValue) throws IOException
      Overrides:
      writeStartObject in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeStartObject

      public void writeStartObject(Object forValue, int size) throws IOException
      Overrides:
      writeStartObject in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeEndObject

      public final void writeEndObject() throws IOException
      Specified by:
      writeEndObject in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeFieldName

      public final void writeFieldName(String name) throws IOException
      Specified by:
      writeFieldName in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeFieldName

      public void writeFieldName(com.fasterxml.jackson.core.SerializableString name) throws IOException
      Specified by:
      writeFieldName in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeString

      public void writeString(String text) throws IOException
      Specified by:
      writeString in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeString

      public void writeString(char[] text, int offset, int len) throws IOException
      Specified by:
      writeString in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeString

      public void writeString(com.fasterxml.jackson.core.SerializableString text) throws IOException
      Specified by:
      writeString in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeString

      public void writeString(Reader reader, int len) throws IOException
      Overrides:
      writeString in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRawUTF8String

      public void writeRawUTF8String(byte[] text, int offset, int length) throws IOException
      Specified by:
      writeRawUTF8String in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeUTF8String

      public void writeUTF8String(byte[] text, int offset, int length) throws IOException
      Specified by:
      writeUTF8String in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRaw

      public void writeRaw(String text) throws IOException
      Specified by:
      writeRaw in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRaw

      public void writeRaw(String text, int offset, int len) throws IOException
      Specified by:
      writeRaw in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRaw

      public void writeRaw(com.fasterxml.jackson.core.SerializableString text) throws IOException
      Overrides:
      writeRaw in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRaw

      public void writeRaw(char[] text, int offset, int len) throws IOException
      Specified by:
      writeRaw in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRaw

      public void writeRaw(char c) throws IOException
      Specified by:
      writeRaw in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRawValue

      public void writeRawValue(String text) throws IOException
      Specified by:
      writeRawValue in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRawValue

      public void writeRawValue(String text, int offset, int len) throws IOException
      Specified by:
      writeRawValue in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeRawValue

      public void writeRawValue(char[] text, int offset, int len) throws IOException
      Specified by:
      writeRawValue in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNumber

      public void writeNumber(short i) throws IOException
      Overrides:
      writeNumber in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNumber

      public void writeNumber(int i) throws IOException
      Specified by:
      writeNumber in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNumber

      public void writeNumber(long l) throws IOException
      Specified by:
      writeNumber in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNumber

      public void writeNumber(double d) throws IOException
      Specified by:
      writeNumber in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNumber

      public void writeNumber(float f) throws IOException
      Specified by:
      writeNumber in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNumber

      public void writeNumber(BigDecimal dec) throws IOException
      Specified by:
      writeNumber in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNumber

      public void writeNumber(BigInteger v) throws IOException
      Specified by:
      writeNumber in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNumber

      public void writeNumber(String encodedValue) throws IOException
      Specified by:
      writeNumber in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeBoolean

      public void writeBoolean(boolean state) throws IOException
      Specified by:
      writeBoolean in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeNull

      public void writeNull() throws IOException
      Specified by:
      writeNull in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeObject

      public void writeObject(Object value) throws IOException
      Specified by:
      writeObject in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeTree

      public void writeTree(com.fasterxml.jackson.core.TreeNode node) throws IOException
      Specified by:
      writeTree in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeBinary

      public void writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data, int offset, int len) throws IOException
      Specified by:
      writeBinary in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • writeBinary

      public int writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant, InputStream data, int dataLength)
      Although we could support this method, it does not necessarily make sense: we cannot make good use of streaming because buffer must hold all the data. Because of this, currently this will simply throw UnsupportedOperationException
      Specified by:
      writeBinary in class com.fasterxml.jackson.core.JsonGenerator
    • canWriteTypeId

      public boolean canWriteTypeId()
      Overrides:
      canWriteTypeId in class com.fasterxml.jackson.core.JsonGenerator
    • canWriteObjectId

      public boolean canWriteObjectId()
      Overrides:
      canWriteObjectId in class com.fasterxml.jackson.core.JsonGenerator
    • writeTypeId

      public void writeTypeId(Object id)
      Overrides:
      writeTypeId in class com.fasterxml.jackson.core.JsonGenerator
    • writeObjectId

      public void writeObjectId(Object id)
      Overrides:
      writeObjectId in class com.fasterxml.jackson.core.JsonGenerator
    • writeEmbeddedObject

      public void writeEmbeddedObject(Object object) throws IOException
      Overrides:
      writeEmbeddedObject in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • copyCurrentEvent

      public void copyCurrentEvent(com.fasterxml.jackson.core.JsonParser p) throws IOException
      Overrides:
      copyCurrentEvent in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • copyCurrentStructure

      public void copyCurrentStructure(com.fasterxml.jackson.core.JsonParser p) throws IOException
      Overrides:
      copyCurrentStructure in class com.fasterxml.jackson.core.JsonGenerator
      Throws:
      IOException
    • _copyBufferContents

      protected void _copyBufferContents(com.fasterxml.jackson.core.JsonParser p) throws IOException
      Throws:
      IOException
    • _appendValue

      protected final void _appendValue(com.fasterxml.jackson.core.JsonToken type)
      Method used for appending token known to represent a "simple" scalar value where token is the only information
      Since:
      2.6.4
    • _appendValue

      protected final void _appendValue(com.fasterxml.jackson.core.JsonToken type, Object value)
      Method used for appending token known to represent a scalar value where there is additional content (text, number) beyond type token
      Since:
      2.6.4
    • _appendFieldName

      protected final void _appendFieldName(Object value)
      Specialized method used for appending a field name, appending either String or SerializableString.
      Since:
      2.10
    • _appendStartMarker

      protected final void _appendStartMarker(com.fasterxml.jackson.core.JsonToken type)
      Specialized method used for appending a structural start Object/Array marker
      Since:
      2.10
    • _appendEndMarker

      protected final void _appendEndMarker(com.fasterxml.jackson.core.JsonToken type)
      Specialized method used for appending a structural end Object/Array marker
      Since:
      2.10
    • _reportUnsupportedOperation

      protected void _reportUnsupportedOperation()
      Overrides:
      _reportUnsupportedOperation in class com.fasterxml.jackson.core.JsonGenerator