|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.jackson.JsonGenerator
org.codehaus.jackson.impl.JsonGeneratorBase
org.codehaus.jackson.impl.WriterBasedGenerator
public final class WriterBasedGenerator
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.codehaus.jackson.JsonGenerator |
---|
JsonGenerator.Feature |
Field Summary | |
---|---|
protected char[] |
_entityBuffer
6-char temporary buffer allocated if needed, for constructing escape sequences |
protected IOContext |
_ioContext
|
protected char[] |
_outputBuffer
Intermediate buffer in which contents are buffered before being written using _writer . |
protected int |
_outputEnd
End marker of the output buffer; one past the last valid position within the buffer. |
protected int |
_outputHead
Pointer to the first buffered character to output |
protected int |
_outputTail
Pointer to the position right beyond the last character to output (end marker; may be past the buffer) |
protected Writer |
_writer
|
Fields inherited from class org.codehaus.jackson.impl.JsonGeneratorBase |
---|
_cfgNumbersAsStrings, _closed, _features, _objectCodec, _writeContext |
Fields inherited from class org.codehaus.jackson.JsonGenerator |
---|
_cfgPrettyPrinter |
Constructor Summary | |
---|---|
WriterBasedGenerator(IOContext ctxt,
int features,
ObjectCodec codec,
Writer w)
|
Method Summary | |
---|---|
protected void |
_flushBuffer()
|
protected void |
_releaseBuffers()
|
protected void |
_verifyPrettyValueWrite(String typeMsg,
int status)
|
protected void |
_verifyValueWrite(String typeMsg)
|
protected void |
_writeBinary(Base64Variant b64variant,
byte[] input,
int inputPtr,
int inputEnd)
|
protected void |
_writeEndArray()
|
protected void |
_writeEndObject()
|
protected void |
_writeFieldName(String name,
boolean commaBefore)
|
protected void |
_writePPFieldName(String name,
boolean commaBefore)
Specialized version of _writeFieldName , off-lined
to keep the "fast path" as simple (and hopefully fast) as possible. |
protected void |
_writeStartArray()
|
protected void |
_writeStartObject()
|
void |
close()
Method called to close this generator, so that no more content can be written. |
void |
flush()
Method called to flush any buffered content to the underlying target (output stream, writer), and to flush the target itself as well. |
void |
writeBinary(Base64Variant b64variant,
byte[] data,
int offset,
int len)
Method that will output given chunk of binary data as base64 encoded, as a complete String value (surrounded by double quotes). |
void |
writeBoolean(boolean state)
Method for outputting literal Json boolean value (one of Strings 'true' and 'false'). |
void |
writeNull()
Method for outputting literal Json null value. |
void |
writeNumber(BigDecimal value)
Method for outputting indicate Json numeric value. |
void |
writeNumber(BigInteger value)
Method for outputting given value as Json number. |
void |
writeNumber(double d)
Method for outputting indicate Json numeric value. |
void |
writeNumber(float f)
Method for outputting indicate Json numeric value. |
void |
writeNumber(int i)
Method for outputting given value as Json number. |
void |
writeNumber(long l)
Method for outputting given value as Json number. |
void |
writeNumber(String encodedValue)
Write method that can be used for custom numeric types that can not be (easily?) converted to "standard" Java number types. |
void |
writeRaw(char c)
|
void |
writeRaw(char[] text,
int offset,
int len)
|
void |
writeRaw(String text)
Fallback method which can be used to make generator copy input text verbatim with no modifications (including that no quoting is done and no separators are added even if context [array, object] would otherwise require such). |
void |
writeRaw(String text,
int start,
int len)
|
void |
writeRawValue(char[] text,
int offset,
int len)
|
void |
writeRawValue(String text)
Fallback method which can be used to make generator copy input text verbatim without any modifications, but assuming it must constitute a single legal Json value (number, string, boolean, null, Array or List). |
void |
writeRawValue(String text,
int offset,
int len)
|
void |
writeString(char[] text,
int offset,
int len)
|
void |
writeString(String text)
Method for outputting a String value. |
Methods inherited from class org.codehaus.jackson.impl.JsonGeneratorBase |
---|
_cantHappen, _reportError, _writeSimpleObject, copyCurrentEvent, copyCurrentStructure, disable, enable, getCodec, getOutputContext, isClosed, isEnabled, setCodec, useDefaultPrettyPrinter, writeEndArray, writeEndObject, writeFieldName, writeObject, writeStartArray, writeStartObject, writeTree |
Methods inherited from class org.codehaus.jackson.JsonGenerator |
---|
configure, disableFeature, enableFeature, isFeatureEnabled, setFeature, setPrettyPrinter, writeArrayFieldStart, writeBinary, writeBinary, writeBinaryField, writeBooleanField, writeNullField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeStringField |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final IOContext _ioContext
protected final Writer _writer
protected char[] _outputBuffer
_writer
.
protected int _outputHead
protected int _outputTail
protected int _outputEnd
protected char[] _entityBuffer
Constructor Detail |
---|
public WriterBasedGenerator(IOContext ctxt, int features, ObjectCodec codec, Writer w)
Method Detail |
---|
protected void _writeStartArray() throws IOException, JsonGenerationException
_writeStartArray
in class JsonGeneratorBase
IOException
JsonGenerationException
protected void _writeEndArray() throws IOException, JsonGenerationException
_writeEndArray
in class JsonGeneratorBase
IOException
JsonGenerationException
protected void _writeStartObject() throws IOException, JsonGenerationException
_writeStartObject
in class JsonGeneratorBase
IOException
JsonGenerationException
protected void _writeEndObject() throws IOException, JsonGenerationException
_writeEndObject
in class JsonGeneratorBase
IOException
JsonGenerationException
protected void _writeFieldName(String name, boolean commaBefore) throws IOException, JsonGenerationException
_writeFieldName
in class JsonGeneratorBase
IOException
JsonGenerationException
protected final void _writePPFieldName(String name, boolean commaBefore) throws IOException, JsonGenerationException
_writeFieldName
, off-lined
to keep the "fast path" as simple (and hopefully fast) as possible.
IOException
JsonGenerationException
public void writeString(String text) throws IOException, JsonGenerationException
JsonGenerator
writeString
in class JsonGenerator
IOException
JsonGenerationException
public void writeString(char[] text, int offset, int len) throws IOException, JsonGenerationException
writeString
in class JsonGenerator
IOException
JsonGenerationException
public void writeRaw(String text) throws IOException, JsonGenerationException
JsonGenerator
JsonGenerator.writeRawValue(String)
instead.
writeRaw
in class JsonGenerator
IOException
JsonGenerationException
public void writeRaw(String text, int start, int len) throws IOException, JsonGenerationException
writeRaw
in class JsonGenerator
IOException
JsonGenerationException
public void writeRaw(char[] text, int offset, int len) throws IOException, JsonGenerationException
writeRaw
in class JsonGenerator
IOException
JsonGenerationException
public void writeRaw(char c) throws IOException, JsonGenerationException
writeRaw
in class JsonGenerator
IOException
JsonGenerationException
public void writeRawValue(String text) throws IOException, JsonGenerationException
JsonGenerator
writeRawValue
in class JsonGenerator
IOException
JsonGenerationException
public void writeRawValue(String text, int offset, int len) throws IOException, JsonGenerationException
writeRawValue
in class JsonGenerator
IOException
JsonGenerationException
public void writeRawValue(char[] text, int offset, int len) throws IOException, JsonGenerationException
writeRawValue
in class JsonGenerator
IOException
JsonGenerationException
public void writeBinary(Base64Variant b64variant, byte[] data, int offset, int len) throws IOException, JsonGenerationException
JsonGenerator
Note: because Json Strings can not contain unescaped linefeeds,
if linefeeds are included (as per last argument), they must be
escaped. This adds overhead for decoding without improving
readability.
Alternatively if linefeeds are not included,
resulting String value may violate the requirement of base64
RFC which mandates line-length of 76 characters and use of
linefeeds. However, all JsonParser
implementations
are required to accept such "long line base64"; as do
typical production-level base64 decoders.
writeBinary
in class JsonGenerator
b64variant
- Base64 variant to use: defines details such as
whether padding is used (and if so, using which character);
what is the maximum line length before adding linefeed,
and also the underlying alphabet to use.
IOException
JsonGenerationException
public void writeNumber(int i) throws IOException, JsonGenerationException
JsonGenerator
writeNumber
in class JsonGeneratorBase
IOException
JsonGenerationException
public void writeNumber(long l) throws IOException, JsonGenerationException
JsonGenerator
writeNumber
in class JsonGeneratorBase
IOException
JsonGenerationException
public void writeNumber(BigInteger value) throws IOException, JsonGenerationException
JsonGenerator
writeNumber
in class JsonGenerator
IOException
JsonGenerationException
public void writeNumber(double d) throws IOException, JsonGenerationException
JsonGenerator
writeNumber
in class JsonGeneratorBase
IOException
JsonGenerationException
public void writeNumber(float f) throws IOException, JsonGenerationException
JsonGenerator
writeNumber
in class JsonGeneratorBase
IOException
JsonGenerationException
public void writeNumber(BigDecimal value) throws IOException, JsonGenerationException
JsonGenerator
writeNumber
in class JsonGeneratorBase
IOException
JsonGenerationException
public void writeNumber(String encodedValue) throws IOException, JsonGenerationException
JsonGenerator
JsonGenerator.writeString(java.lang.String)
method can not be used; nor
JsonGenerator.writeRaw(java.lang.String)
because that does not properly handle
value separators needed in Array or Object contexts.
Note: because of lack of type safety, some generator
implementations may not be able to implement this
method. For example, if a binary json format is used,
it may require type information for encoding; similarly
for generator-wrappers around Java objects or Json nodes.
If implementation does not implement this method,
it needs to throw UnsupportedOperationException
.
writeNumber
in class JsonGenerator
IOException
JsonGenerationException
public void writeBoolean(boolean state) throws IOException, JsonGenerationException
JsonGenerator
writeBoolean
in class JsonGeneratorBase
IOException
JsonGenerationException
public void writeNull() throws IOException, JsonGenerationException
JsonGenerator
writeNull
in class JsonGeneratorBase
IOException
JsonGenerationException
protected final void _verifyValueWrite(String typeMsg) throws IOException, JsonGenerationException
_verifyValueWrite
in class JsonGeneratorBase
IOException
JsonGenerationException
protected final void _verifyPrettyValueWrite(String typeMsg, int status) throws IOException, JsonGenerationException
IOException
JsonGenerationException
public final void flush() throws IOException
JsonGenerator
flush
in class JsonGeneratorBase
IOException
public void close() throws IOException
JsonGenerator
Whether the underlying target (stream, writer) gets closed depends
on whether this generator either manages the target (i.e. is the
only one with access to the target -- case if caller passes a
reference to the resource such as File, but not stream); or
has feature JsonGenerator.Feature.AUTO_CLOSE_TARGET
enabled.
If either of above is true, the target is also closed. Otherwise
(not managing, feature not enabled), target is not closed.
close
in interface Closeable
close
in class JsonGeneratorBase
IOException
protected void _releaseBuffers()
_releaseBuffers
in class JsonGeneratorBase
protected void _writeBinary(Base64Variant b64variant, byte[] input, int inputPtr, int inputEnd) throws IOException, JsonGenerationException
IOException
JsonGenerationException
protected final void _flushBuffer() throws IOException
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |