|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.fasterxml.jackson.core.JsonGenerator
com.fasterxml.jackson.core.base.GeneratorBase
com.fasterxml.jackson.dataformat.smile.SmileGenerator
public class SmileGenerator
JsonGenerator implementation for the experimental "Binary JSON Infoset".
| Nested Class Summary | |
|---|---|
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) |
| Field Summary | |
|---|---|
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 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 ThreadLocal<SoftReference<SmileBufferRecycler<SmileGenerator.SharedStringNode>>> |
_smileRecyclerRef
This ThreadLocal contains a SoftRerefence
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
|
protected static byte |
TOKEN_BYTE_LONG_STRING_UNICODE
|
| Fields inherited from class com.fasterxml.jackson.core.base.GeneratorBase |
|---|
_cfgNumbersAsStrings, _closed, _features, _objectCodec, _writeContext |
| Fields inherited from class com.fasterxml.jackson.core.JsonGenerator |
|---|
_cfgPrettyPrinter |
| Constructor Summary | |
|---|---|
SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
int jsonFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
OutputStream out)
|
|
SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
int jsonFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
OutputStream out,
byte[] outputBuffer,
int offset,
boolean bufferRecyclable)
|
|
| Method Summary | |
|---|---|
protected void |
_flushBuffer()
|
protected UnsupportedOperationException |
_notSupported()
|
protected void |
_releaseBuffers()
|
protected static SmileBufferRecycler<SmileGenerator.SharedStringNode> |
_smileBufferRecycler()
|
protected void |
_verifyValueWrite(String typeMsg)
|
protected void |
_write7BitBinaryWithLength(byte[] data,
int offset,
int len)
|
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()
|
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)
|
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(String name)
|
void |
writeHeader()
Method that can be called to explicitly write Smile document header. |
void |
writeNull()
|
void |
writeNumber(BigDecimal dec)
|
void |
writeNumber(BigInteger v)
|
void |
writeNumber(double d)
|
void |
writeNumber(float f)
|
void |
writeNumber(int i)
|
void |
writeNumber(long l)
|
void |
writeNumber(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(String text)
|
void |
writeRaw(String text,
int offset,
int len)
|
void |
writeRawUTF8String(byte[] text,
int offset,
int len)
|
void |
writeRawValue(char[] text,
int offset,
int len)
|
void |
writeRawValue(String text)
|
void |
writeRawValue(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(String text)
|
void |
writeStringField(String fieldName,
String value)
|
void |
writeUTF8String(byte[] text,
int offset,
int len)
|
| Methods inherited from class com.fasterxml.jackson.core.base.GeneratorBase |
|---|
_cantHappen, _reportError, _reportUnsupportedOperation, _throwInternal, _writeSimpleObject, copyCurrentEvent, copyCurrentStructure, disable, enable, getCodec, getOutputContext, isClosed, isEnabled, setCodec, writeObject, writeTree |
| Methods inherited from class com.fasterxml.jackson.core.JsonGenerator |
|---|
canUseSchema, configure, getCharacterEscapes, getHighestEscapedChar, getSchema, setCharacterEscapes, setHighestNonEscapedChar, setSchema, writeArrayFieldStart, writeBinary, writeBinary, writeBinaryField, writeBooleanField, writeNullField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final byte TOKEN_BYTE_LONG_STRING_ASCII
protected static final byte TOKEN_BYTE_LONG_STRING_UNICODE
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 OutputStream _out
protected int _smileFeatures
SmileGenerator.Features
are enabled.
protected final SmileBufferRecycler<SmileGenerator.SharedStringNode> _smileBufferRecycler
protected byte[] _outputBuffer
_out.
protected int _outputTail
_outputBuffer
protected 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 enabled
protected SmileGenerator.SharedStringNode[] _seenStringValues
protected int _seenStringValueCount
_seenStringValues; -1 if no shared text value
detection is enabled
protected boolean _bufferRecyclable
protected static final ThreadLocal<SoftReference<SmileBufferRecycler<SmileGenerator.SharedStringNode>>> _smileRecyclerRef
ThreadLocal contains a SoftRerefence
to a buffer recycler used to provide a low-cost
buffer recycling for Smile-specific buffers.
| Constructor Detail |
|---|
public SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
int jsonFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
OutputStream out)
public SmileGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
int jsonFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
OutputStream out,
byte[] outputBuffer,
int offset,
boolean bufferRecyclable)
| Method Detail |
|---|
public void writeHeader()
throws IOException
SmileFactory calls this method.
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 Object getOutputTarget()
getOutputTarget in class com.fasterxml.jackson.core.JsonGenerator
public final void writeFieldName(String name)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeFieldName in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public final void writeFieldName(com.fasterxml.jackson.core.SerializableString name)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeFieldName in class com.fasterxml.jackson.core.base.GeneratorBaseIOException
com.fasterxml.jackson.core.JsonGenerationException
public final void writeStringField(String fieldName,
String value)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeStringField in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.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 IOException,
com.fasterxml.jackson.core.JsonGenerationException
NOTE: only use this method if you really know what you are doing.
IOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeBytes(byte[] data,
int offset,
int len)
throws IOException
NOTE: only use this method if you really know what you are doing.
IOException
public final void writeStartArray()
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeStartArray in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public final void writeEndArray()
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeEndArray in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public final void writeStartObject()
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeStartObject in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public final void writeEndObject()
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeEndObject in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
protected final void _writeFieldName(com.fasterxml.jackson.core.SerializableString name)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
IOException
com.fasterxml.jackson.core.JsonGenerationException
protected final void _writeFieldNameUnicode(com.fasterxml.jackson.core.SerializableString name,
byte[] bytes)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
IOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeString(String text)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeString in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeString(char[] text,
int offset,
int len)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeString in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public final void writeString(com.fasterxml.jackson.core.SerializableString sstr)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeString in class com.fasterxml.jackson.core.base.GeneratorBaseIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeRawUTF8String(byte[] text,
int offset,
int len)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRawUTF8String in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public final void writeUTF8String(byte[] text,
int offset,
int len)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeUTF8String in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeRaw(String text)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRaw in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeRaw(String text,
int offset,
int len)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRaw in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeRaw(char[] text,
int offset,
int len)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRaw in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeRaw(char c)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRaw in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeRawValue(String text)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBaseIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeRawValue(String text,
int offset,
int len)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBaseIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeRawValue(char[] text,
int offset,
int len)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBaseIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant,
byte[] data,
int offset,
int len)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeBinary in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeBoolean(boolean state)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeBoolean in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeNull()
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNull in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeNumber(int i)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeNumber(long l)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeNumber(BigInteger v)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeNumber(double d)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeNumber(float f)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeNumber(BigDecimal dec)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
public void writeNumber(String encodedValue)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException,
UnsupportedOperationException
writeNumber in class com.fasterxml.jackson.core.JsonGeneratorIOException
com.fasterxml.jackson.core.JsonGenerationException
UnsupportedOperationException
protected final void _verifyValueWrite(String typeMsg)
throws IOException,
com.fasterxml.jackson.core.JsonGenerationException
_verifyValueWrite in class com.fasterxml.jackson.core.base.GeneratorBaseIOException
com.fasterxml.jackson.core.JsonGenerationException
public final void flush()
throws IOException
flush in class com.fasterxml.jackson.core.base.GeneratorBaseIOException
public void close()
throws IOException
close in interface Closeableclose in class com.fasterxml.jackson.core.base.GeneratorBaseIOException
protected void _write7BitBinaryWithLength(byte[] data,
int offset,
int len)
throws IOException
IOExceptionprotected void _releaseBuffers()
_releaseBuffers in class com.fasterxml.jackson.core.base.GeneratorBase
protected final void _flushBuffer()
throws IOException
IOExceptionprotected long outputOffset()
protected UnsupportedOperationException _notSupported()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||