public class SmileGenerator
extends com.fasterxml.jackson.core.base.GeneratorBase
JsonGenerator implementation for the experimental "Binary JSON Infoset".| Modifier and Type | Class and Description |
|---|---|
static class |
SmileGenerator.Feature
Enumeration that defines all togglable features for Smile generators.
|
protected static class |
SmileGenerator.SharedStringNode
Helper class used for keeping track of possibly shareable String
references (for field names and/or short String values)
|
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
_bufferRecyclable
Flag that indicates whether the output buffer is recycable (and
needs to be returned to recycler once we are done) or not.
|
protected int |
_bytesWritten
Let's keep track of how many bytes have been output, may prove useful
when debugging.
|
protected char[] |
_charBuffer
Intermediate buffer in which characters of a String are copied
before being encoded.
|
protected int |
_charBufferLength |
protected com.fasterxml.jackson.core.io.IOContext |
_ioContext |
protected java.io.OutputStream |
_out |
protected byte[] |
_outputBuffer
Intermediate buffer in which contents are buffered before
being written using
_out. |
protected int |
_outputEnd
Offset to index after the last valid index in
_outputBuffer. |
protected int |
_outputTail
Pointer to the next available byte in
_outputBuffer |
protected int |
_seenNameCount
Number of entries in
_seenNames; -1 if no shared name
detection is enabled |
protected SmileGenerator.SharedStringNode[] |
_seenNames
Raw data structure used for checking whether field name to
write can be output using back reference or not.
|
protected int |
_seenStringValueCount
Number of entries in
_seenStringValues; -1 if no shared text value
detection is enabled |
protected SmileGenerator.SharedStringNode[] |
_seenStringValues
Raw data structure used for checking whether String value to
write can be output using back reference or not.
|
protected SmileBufferRecycler<SmileGenerator.SharedStringNode> |
_smileBufferRecycler
Helper object used for low-level recycling of Smile-generator
specific buffers.
|
protected int |
_smileFeatures
Bit flag composed of bits that indicate which
SmileGenerator.Features
are enabled. |
protected static java.lang.ThreadLocal<java.lang.ref.SoftReference<SmileBufferRecycler<SmileGenerator.SharedStringNode>>> |
_smileRecyclerRef
This
ThreadLocal contains a SoftReference
to a buffer recycler used to provide a low-cost
buffer recycling for Smile-specific buffers. |
protected static long |
MAX_INT_AS_LONG |
protected static long |
MIN_INT_AS_LONG |
protected static int |
SURR1_FIRST |
protected static int |
SURR1_LAST |
protected static int |
SURR2_FIRST |
protected static int |
SURR2_LAST |
protected static byte |
TOKEN_BYTE_BIG_DECIMAL |
protected static byte |
TOKEN_BYTE_BIG_INTEGER |
protected static byte |
TOKEN_BYTE_FLOAT_32 |
protected static byte |
TOKEN_BYTE_FLOAT_64 |
protected static byte |
TOKEN_BYTE_INT_32 |
protected static byte |
TOKEN_BYTE_INT_64 |
protected static byte |
TOKEN_BYTE_LONG_STRING_ASCII |
| Constructor and Description |
|---|
SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
int jsonFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
java.io.OutputStream out) |
SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
int jsonFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
java.io.OutputStream out,
byte[] outputBuffer,
int offset,
boolean bufferRecyclable) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
_flushBuffer() |
protected java.lang.UnsupportedOperationException |
_notSupported() |
protected void |
_releaseBuffers() |
protected static SmileBufferRecycler<SmileGenerator.SharedStringNode> |
_smileBufferRecycler() |
protected void |
_verifyValueWrite(java.lang.String typeMsg) |
protected void |
_write7BitBinaryWithLength(byte[] data,
int offset,
int len) |
protected int |
_write7BitBinaryWithLength(java.io.InputStream in,
int bytesLeft,
byte[] buffer) |
protected void |
_writeFieldName(com.fasterxml.jackson.core.SerializableString name) |
protected void |
_writeFieldNameUnicode(com.fasterxml.jackson.core.SerializableString name,
byte[] bytes) |
void |
close() |
SmileGenerator |
configure(SmileGenerator.Feature f,
boolean state) |
SmileGenerator |
disable(SmileGenerator.Feature f) |
SmileGenerator |
enable(SmileGenerator.Feature f) |
void |
flush() |
java.lang.Object |
getOutputTarget() |
boolean |
isEnabled(SmileGenerator.Feature f) |
protected long |
outputOffset()
Method for accessing offset of the next byte within the whole output
stream that this generator has produced.
|
com.fasterxml.jackson.core.JsonGenerator |
setPrettyPrinter(com.fasterxml.jackson.core.PrettyPrinter pp)
No way (or need) to indent anything, so let's block any attempts.
|
com.fasterxml.jackson.core.JsonGenerator |
useDefaultPrettyPrinter()
No way (or need) to indent anything, so let's block any attempts.
|
com.fasterxml.jackson.core.Version |
version() |
void |
writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant,
byte[] data,
int offset,
int len) |
int |
writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant,
java.io.InputStream data,
int dataLength) |
int |
writeBinary(java.io.InputStream data,
int dataLength) |
void |
writeBoolean(boolean state) |
void |
writeBytes(byte[] data,
int offset,
int len)
Method for directly inserting specified bytes in output at
current position.
|
void |
writeEndArray() |
void |
writeEndObject() |
void |
writeFieldName(com.fasterxml.jackson.core.SerializableString name) |
void |
writeFieldName(java.lang.String name) |
void |
writeHeader()
Method that can be called to explicitly write Smile document header.
|
void |
writeNull() |
void |
writeNumber(java.math.BigDecimal dec) |
void |
writeNumber(java.math.BigInteger v) |
void |
writeNumber(double d) |
void |
writeNumber(float f) |
void |
writeNumber(int i) |
void |
writeNumber(long l) |
void |
writeNumber(java.lang.String encodedValue) |
void |
writeRaw(byte b)
Method for directly inserting specified byte in output at
current position.
|
void |
writeRaw(char c) |
void |
writeRaw(char[] text,
int offset,
int len) |
void |
writeRaw(java.lang.String text) |
void |
writeRaw(java.lang.String text,
int offset,
int len) |
void |
writeRawUTF8String(byte[] text,
int offset,
int len) |
void |
writeRawValue(char[] text,
int offset,
int len) |
void |
writeRawValue(java.lang.String text) |
void |
writeRawValue(java.lang.String text,
int offset,
int len) |
void |
writeStartArray() |
void |
writeStartObject() |
void |
writeString(char[] text,
int offset,
int len) |
void |
writeString(com.fasterxml.jackson.core.SerializableString sstr) |
void |
writeString(java.lang.String text) |
void |
writeStringField(java.lang.String fieldName,
java.lang.String value) |
void |
writeUTF8String(byte[] text,
int offset,
int len) |
_reportError, _reportUnsupportedOperation, _throwInternal, _writeSimpleObject, copyCurrentEvent, copyCurrentStructure, disable, enable, getCodec, getOutputContext, isClosed, isEnabled, setCodec, writeObject, writeTreecanUseSchema, configure, getCharacterEscapes, getHighestEscapedChar, getPrettyPrinter, getSchema, setCharacterEscapes, setHighestNonEscapedChar, setRootValueSeparator, setSchema, writeArrayFieldStart, writeBinary, writeBinary, writeBinaryField, writeBooleanField, writeNullField, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeRawprotected static final byte TOKEN_BYTE_LONG_STRING_ASCII
protected static final byte TOKEN_BYTE_INT_32
protected static final byte TOKEN_BYTE_INT_64
protected static final byte TOKEN_BYTE_BIG_INTEGER
protected static final byte TOKEN_BYTE_FLOAT_32
protected static final byte TOKEN_BYTE_FLOAT_64
protected static final byte TOKEN_BYTE_BIG_DECIMAL
protected static final int SURR1_FIRST
protected static final int SURR1_LAST
protected static final int SURR2_FIRST
protected static final int SURR2_LAST
protected static final long MIN_INT_AS_LONG
protected static final long MAX_INT_AS_LONG
protected final com.fasterxml.jackson.core.io.IOContext _ioContext
protected final java.io.OutputStream _out
protected int _smileFeatures
SmileGenerator.Features
are enabled.protected final SmileBufferRecycler<SmileGenerator.SharedStringNode> _smileBufferRecycler
protected byte[] _outputBuffer
_out.protected int _outputTail
_outputBufferprotected final int _outputEnd
_outputBuffer.
Typically same as length of the buffer.protected char[] _charBuffer
protected final int _charBufferLength
protected int _bytesWritten
protected SmileGenerator.SharedStringNode[] _seenNames
protected int _seenNameCount
_seenNames; -1 if no shared name
detection is enabledprotected SmileGenerator.SharedStringNode[] _seenStringValues
protected int _seenStringValueCount
_seenStringValues; -1 if no shared text value
detection is enabledprotected boolean _bufferRecyclable
protected static final java.lang.ThreadLocal<java.lang.ref.SoftReference<SmileBufferRecycler<SmileGenerator.SharedStringNode>>> _smileRecyclerRef
ThreadLocal contains a SoftReference
to a buffer recycler used to provide a low-cost
buffer recycling for Smile-specific buffers.public SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
int jsonFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
java.io.OutputStream out)
public SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
int jsonFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
java.io.OutputStream out,
byte[] outputBuffer,
int offset,
boolean bufferRecyclable)
public void writeHeader()
throws java.io.IOException
SmileFactory calls this method.java.io.IOExceptionprotected static final SmileBufferRecycler<SmileGenerator.SharedStringNode> _smileBufferRecycler()
public com.fasterxml.jackson.core.Version version()
version in interface com.fasterxml.jackson.core.Versionedversion in class com.fasterxml.jackson.core.base.GeneratorBasepublic com.fasterxml.jackson.core.JsonGenerator useDefaultPrettyPrinter()
useDefaultPrettyPrinter in class com.fasterxml.jackson.core.base.GeneratorBasepublic com.fasterxml.jackson.core.JsonGenerator setPrettyPrinter(com.fasterxml.jackson.core.PrettyPrinter pp)
setPrettyPrinter in class com.fasterxml.jackson.core.JsonGeneratorpublic java.lang.Object getOutputTarget()
getOutputTarget in class com.fasterxml.jackson.core.JsonGeneratorpublic final void writeFieldName(java.lang.String name)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeFieldName in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic final void writeFieldName(com.fasterxml.jackson.core.SerializableString name)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeFieldName in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic final void writeStringField(java.lang.String fieldName,
java.lang.String value)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeStringField in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic SmileGenerator enable(SmileGenerator.Feature f)
public SmileGenerator disable(SmileGenerator.Feature f)
public final boolean isEnabled(SmileGenerator.Feature f)
public SmileGenerator configure(SmileGenerator.Feature f, boolean state)
public void writeRaw(byte b)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
NOTE: only use this method if you really know what you are doing.
java.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeBytes(byte[] data,
int offset,
int len)
throws java.io.IOException
NOTE: only use this method if you really know what you are doing.
java.io.IOExceptionpublic final void writeStartArray()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeStartArray in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic final void writeEndArray()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeEndArray in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic final void writeStartObject()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeStartObject in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic final void writeEndObject()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeEndObject in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionprotected final void _writeFieldName(com.fasterxml.jackson.core.SerializableString name)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionprotected final void _writeFieldNameUnicode(com.fasterxml.jackson.core.SerializableString name,
byte[] bytes)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeString(java.lang.String text)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeString in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeString(char[] text,
int offset,
int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeString in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic final void writeString(com.fasterxml.jackson.core.SerializableString sstr)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeString in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeRawUTF8String(byte[] text,
int offset,
int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRawUTF8String in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic final void writeUTF8String(byte[] text,
int offset,
int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeUTF8String in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeRaw(java.lang.String text)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRaw in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeRaw(java.lang.String text,
int offset,
int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRaw in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeRaw(char[] text,
int offset,
int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRaw in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeRaw(char c)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRaw in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeRawValue(java.lang.String text)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeRawValue(java.lang.String text,
int offset,
int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeRawValue(char[] text,
int offset,
int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant,
byte[] data,
int offset,
int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeBinary in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic int writeBinary(java.io.InputStream data,
int dataLength)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeBinary in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic int writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant,
java.io.InputStream data,
int dataLength)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeBinary in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeBoolean(boolean state)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeBoolean in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeNull()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNull in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeNumber(int i)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeNumber(long l)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeNumber(java.math.BigInteger v)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeNumber(double d)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeNumber(float f)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeNumber(java.math.BigDecimal dec)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic void writeNumber(java.lang.String encodedValue)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException,
java.lang.UnsupportedOperationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorjava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionjava.lang.UnsupportedOperationExceptionprotected final void _verifyValueWrite(java.lang.String typeMsg)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonGenerationException
_verifyValueWrite in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonGenerationExceptionpublic final void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class com.fasterxml.jackson.core.base.GeneratorBasejava.io.IOExceptionprotected void _write7BitBinaryWithLength(byte[] data,
int offset,
int len)
throws java.io.IOException
java.io.IOExceptionprotected int _write7BitBinaryWithLength(java.io.InputStream in,
int bytesLeft,
byte[] buffer)
throws java.io.IOException
java.io.IOExceptionprotected void _releaseBuffers()
_releaseBuffers in class com.fasterxml.jackson.core.base.GeneratorBaseprotected final void _flushBuffer()
throws java.io.IOException
java.io.IOExceptionprotected long outputOffset()
protected java.lang.UnsupportedOperationException _notSupported()
Copyright © 2013. All Rights Reserved.