| Modifier and Type | Field and Description |
|---|---|
| protected ApacheCodecRecycler | |
| protected boolean | _complete
Flag that is set when the whole content is complete, can be output. |
| protected BinaryEncoder | _encoder
Lazily constructed encoder; reused in case of writing root-value sequences. |
| protected int | _formatWriteFeatures
Bit flag composed of bits that indicate which
|
| protected final OutputStream | |
| protected AvroWriteContext | _rootContext
Reference to the root context since that is needed for serialization |
| protected final AvroSchema | |
| protected AvroWriteContext | _streamWriteContext
Current context |
| protected static final EncoderFactory |
| Access | Constructor and Description |
|---|---|
| public | AvroGenerator(ObjectWriteContext writeCtxt, IOContext ioCtxt, int streamWriteFeatures, int avroFeatures, ApacheCodecRecycler apacheCodecRecycler, AvroSchema schema, OutputStream output)
|
| Modifier and Type | Method and Description |
|---|---|
| protected void | |
| protected void | |
| protected void | _releaseBuffers()
Implements abstract tools. Method called to release any buffers generator may be holding, once generator is being closed. |
| protected final void | _verifyValueWrite(String typeMsg)
Implements abstract tools. Method called before trying to write a value (scalar or structured), to verify that this is legal in current output state, as well as to output separators if and as necessary. |
| public void | assignCurrentValue(Object v)
Implements abstract tools. Helper method, usually equivalent to:
|
| public AvroGenerator | |
| public Object | currentValue()
Implements abstract tools. Helper method, usually equivalent to:
Note that "current value" is NOT populated (or used) by Streaming generator; it is only used by higher-level data-binding functionality. |
| public AvroGenerator | |
| public AvroGenerator | |
| public final void | flush()
Implements abstract tools. Implements java. Method called to flush any buffered content to the underlying target (output stream, writer), and to flush the target itself as well. |
| public PrettyPrinter | getPrettyPrinter()
Overrides tools. Accessor for object that handles pretty-printing (usually additional white space to make results more human-readable) during output. |
| public AvroSchema | getSchema()
Overrides tools. Method for accessing Schema that this generator uses, if any. |
| public final boolean | |
| public JacksonFeatureSet | streamWriteCapabilities()
Implements abstract tools. Accessor for getting metadata on capabilities of this generator, based on underlying data format being read (directly or indirectly). |
| public TokenStreamContext | streamWriteContext()
Implements abstract tools. Accessor for context object that provides information about low-level logical position withing output token stream. |
| public int | streamWriteOutputBuffered()
Implements abstract tools. Unfortunately we have no visibility into buffering Avro codec does;
and need to return |
| public Object | streamWriteOutputTarget()
Implements abstract tools. Method that can be used to get access to object that is used
as target for generated output; this is usually either
|
| public Version | version()
Implements abstract tools. Implements tools. Accessor for finding out version of the bundle that provided this generator instance. |
| public JsonGenerator | writeBinary(Base64Variant b64variant, byte[] data, int offset, int len)
Implements abstract tools. Method that will output given chunk of binary data as base64 encoded, as a complete String value (surrounded by double quotes). |
| public JsonGenerator | writeBoolean(boolean state)
Implements abstract tools. Method for outputting literal JSON boolean value (one of Strings 'true' and 'false'). |
| public JsonGenerator | writeEmbeddedObject(Object object)
Overrides tools. Method that can be called on backends that support passing opaque native values that some data formats support; not used with JSON backend, more common with binary formats. |
| public JsonGenerator | writeEndArray()
Implements abstract tools. Method for writing closing marker of a JSON Array value (character ']'; plus possible white space decoration if pretty-printing is enabled). |
| public JsonGenerator | writeEndObject()
Implements abstract tools. Method for writing closing marker of an Object value (character '}'; plus possible white space decoration if pretty-printing is enabled). |
| public JsonGenerator | writeName(String name)
Implements abstract tools. Method for writing an Object Property name (JSON String surrounded by double quotes: syntactically identical to a JSON String value), possibly decorated by white space if pretty-printing is enabled. |
| public JsonGenerator | writeName(SerializableString name)
Overrides tools. Method similar to |
| public JsonGenerator | writeNull()
Implements abstract tools. Method for outputting literal JSON null value. |
| public JsonGenerator | writeNumber(short v)
Implements abstract tools. Method for outputting given value as JSON number. |
| public JsonGenerator | writeNumber(int v)
Implements abstract tools. Method for outputting given value as JSON number. |
| public JsonGenerator | writeNumber(long v)
Implements abstract tools. Method for outputting given value as JSON number. |
| public JsonGenerator | writeNumber(BigInteger v)
Implements abstract tools. Method for outputting given value as JSON number. |
| public JsonGenerator | writeNumber(double d)
Implements abstract tools. Method for outputting indicate JSON numeric value. |
| public JsonGenerator | writeNumber(float f)
Implements abstract tools. Method for outputting indicate JSON numeric value. |
| public JsonGenerator | writeNumber(BigDecimal dec)
Implements abstract tools. Method for outputting indicate JSON numeric value. |
| public JsonGenerator | writeNumber(String encodedValue)
Implements abstract tools. Write method that can be used for custom numeric types that can not be (easily?) converted to "standard" Java number types. |
| public JsonGenerator | writePropertyId(long id)
Implements abstract tools. Alternative to |
| public JsonGenerator | writeRaw(String text)
Implements abstract tools. Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such). |
| public JsonGenerator | writeRaw(String text, int offset, int len)
Implements abstract tools. Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such). |
| public JsonGenerator | writeRaw(char[] text, int offset, int len)
Implements abstract tools. Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such). |
| public JsonGenerator | writeRaw(char c)
Implements abstract tools. Method that will force generator to copy input text verbatim with no modifications (including that no escaping is done and no separators are added even if context [array, object] would otherwise require such). |
| public JsonGenerator | writeRawUTF8String(byte[] text, int offset, int len)
Implements abstract tools. Method similar to |
| public JsonGenerator | writeRawValue(String text)
Overrides tools. Method that will force generator to copy input text verbatim without any modifications, but assuming it must constitute a single legal JSON value (number, string, boolean, null, Array or List). |
| public JsonGenerator | writeRawValue(String text, int offset, int len)
Overrides tools.
|
| public JsonGenerator | writeRawValue(char[] text, int offset, int len)
Overrides tools.
|
| public JsonGenerator | writeStartArray()
Implements abstract tools. Method for writing starting marker of a Array value (for JSON this is character '['; plus possible white space decoration if pretty-printing is enabled). |
| public JsonGenerator | writeStartArray(Object currValue)
Implements abstract tools. Method for writing start marker of an Array value, similar
to |
| public JsonGenerator | writeStartArray(Object currValue, int len)
Overrides tools. Method for writing start marker of an Array value, similar
to |
| public JsonGenerator | writeStartObject()
Implements abstract tools. Method for writing starting marker of an Object value (character '{'; plus possible white space decoration if pretty-printing is enabled). |
| public JsonGenerator | writeStartObject(Object forValue)
Implements abstract tools. Method for writing starting marker of an Object value to represent the given Java Object value. |
| public JsonGenerator | writeString(String text)
Implements abstract tools. Method for outputting a String value. |
| public JsonGenerator | writeString(char[] text, int offset, int len)
Implements abstract tools. Method for outputting a String value. |
| public JsonGenerator | writeString(SerializableString sstr)
Overrides tools. Method similar to |
| public JsonGenerator | writeUTF8String(byte[] text, int offset, int len)
Implements abstract tools. Method similar to |
| _apacheCodecRecycler | back to summary |
|---|---|
protected ApacheCodecRecycler _apacheCodecRecycler
| |
| _complete | back to summary |
|---|---|
| protected boolean _complete Flag that is set when the whole content is complete, can be output. | |
| _encoder | back to summary |
|---|---|
| protected BinaryEncoder _encoder Lazily constructed encoder; reused in case of writing root-value sequences. | |
| _formatWriteFeatures | back to summary |
|---|---|
| protected int _formatWriteFeatures Bit flag composed of bits that indicate which
| |
| _output | back to summary |
|---|---|
| protected final OutputStream _output | |
| _rootContext | back to summary |
|---|---|
| protected AvroWriteContext _rootContext Reference to the root context since that is needed for serialization | |
| _rootSchema | back to summary |
|---|---|
| protected final AvroSchema _rootSchema | |
| _streamWriteContext | back to summary |
|---|---|
| protected AvroWriteContext _streamWriteContext Current context | |
| ENCODER_FACTORY | back to summary |
|---|---|
protected static final EncoderFactory ENCODER_FACTORY
| |
| AvroGenerator | back to summary |
|---|---|
| public AvroGenerator(ObjectWriteContext writeCtxt, IOContext ioCtxt, int streamWriteFeatures, int avroFeatures, ApacheCodecRecycler apacheCodecRecycler, AvroSchema schema, OutputStream output) throws JacksonException | |
| _closeInput | back to summary |
|---|---|
| protected void _closeInput() throws IOException Implements abstract tools.
| |
| _complete | back to summary |
|---|---|
| protected void _complete() throws JacksonException | |
| _releaseBuffers | back to summary |
|---|---|
| protected void _releaseBuffers() Implements abstract tools. Doc from tools. Method called to release any buffers generator may be holding, once generator is being closed.
| |
| _verifyValueWrite | back to summary |
|---|---|
| protected final void _verifyValueWrite(String typeMsg) throws JacksonException Implements abstract tools. Doc from tools. Method called before trying to write a value (scalar or structured), to verify that this is legal in current output state, as well as to output separators if and as necessary.
| |
| assignCurrentValue | back to summary |
|---|---|
| public void assignCurrentValue(Object v) Implements abstract tools. Doc from tools. Helper method, usually equivalent to:
| |
| configure | back to summary |
|---|---|
| public AvroGenerator configure(AvroWriteFeature f, boolean state) | |
| currentValue | back to summary |
|---|---|
| public Object currentValue() Implements abstract tools. Doc from tools. Helper method, usually equivalent to:
Note that "current value" is NOT populated (or used) by Streaming generator; it is only used by higher-level data-binding functionality. The reason it is included here is that it can be stored and accessed hierarchically, and gets passed through data-binding.
| |
| disable | back to summary |
|---|---|
| public AvroGenerator disable(AvroWriteFeature f) | |
| enable | back to summary |
|---|---|
| public AvroGenerator enable(AvroWriteFeature f) | |
| flush | back to summary |
|---|---|
| public final void flush() Implements abstract tools. Implements java. Doc from tools. Method called to flush any buffered content to the underlying target (output stream, writer), and to flush the target itself as well.
| |
| getPrettyPrinter | back to summary |
|---|---|
| public PrettyPrinter getPrettyPrinter() Overrides tools. Doc from tools. Accessor for object that handles pretty-printing (usually additional white space to make
results more human-readable) during output. If Note this may be Default implementation returns null so pretty-printing capable generators need to override it.
| |
| getSchema | back to summary |
|---|---|
| public AvroSchema getSchema() Overrides tools. Doc from tools. Method for accessing Schema that this generator uses, if any. Default implementation returns null.
| |
| isEnabled | back to summary |
|---|---|
| public final boolean isEnabled(AvroWriteFeature f) | |
| streamWriteCapabilities | back to summary |
|---|---|
| public JacksonFeatureSet Implements abstract tools. Doc from tools. Accessor for getting metadata on capabilities of this generator, based on underlying data format being read (directly or indirectly).
| |
| streamWriteContext | back to summary |
|---|---|
| public TokenStreamContext streamWriteContext() Implements abstract tools. Doc from tools. Accessor for context object that provides information about low-level logical position withing output token stream. Note method was called
| |
| streamWriteOutputBuffered | back to summary |
|---|---|
| public int streamWriteOutputBuffered() Implements abstract tools. Unfortunately we have no visibility into buffering Avro codec does;
and need to return
| |
| streamWriteOutputTarget | back to summary |
|---|---|
| public Object streamWriteOutputTarget() Implements abstract tools. Doc from tools. Method that can be used to get access to object that is used
as target for generated output; this is usually either
In general use of this accessor should be considered as "last effort", i.e. only used if no other mechanism is applicable. Note was named
| |
| version | back to summary |
|---|---|
| public Version version() Implements abstract tools. Implements tools. Doc from tools. Accessor for finding out version of the bundle that provided this generator instance.
| |
| writeBinary | back to summary |
|---|---|
| public JsonGenerator writeBinary(Base64Variant b64variant, byte[] data, int offset, int len) throws JacksonException Implements abstract tools. Doc from tools. Method that will output given chunk of binary data as base64 encoded, as a complete String value (surrounded by double quotes). This method defaults Note because JSON Strings cannot 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
| |
| writeBoolean | back to summary |
|---|---|
| public JsonGenerator writeBoolean(boolean state) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting literal JSON boolean value (one of Strings 'true' and 'false'). Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeEmbeddedObject | back to summary |
|---|---|
| public JsonGenerator writeEmbeddedObject(Object object) throws JacksonException Overrides tools. Doc from tools. Method that can be called on backends that support passing opaque native values that some data formats support; not used with JSON backend, more common with binary formats. Note this is NOT the method to call for serializing regular POJOs,
see
| |
| writeEndArray | back to summary |
|---|---|
| public JsonGenerator writeEndArray() throws JacksonException Implements abstract tools. Doc from tools. Method for writing closing marker of a JSON Array value (character ']'; plus possible white space decoration if pretty-printing is enabled). Marker can be written if the innermost structured type is Array.
| |
| writeEndObject | back to summary |
|---|---|
| public JsonGenerator writeEndObject() throws JacksonException Implements abstract tools. Doc from tools. Method for writing closing marker of an Object value (character '}'; plus possible white space decoration if pretty-printing is enabled). Marker can be written if the innermost structured type is Object, and the last written event was either a complete value, or START-OBJECT marker (see JSON specification for more details).
| |
| writeName | back to summary |
|---|---|
| public JsonGenerator writeName(String name) throws JacksonException Implements abstract tools. Doc from tools. Method for writing an Object Property name (JSON String surrounded by double quotes: syntactically identical to a JSON String value), possibly decorated by white space if pretty-printing is enabled. Property names can only be written in Object context (check out JSON specification for details), when Object Property name is expected (property names alternate with values).
| |
| writeName | back to summary |
|---|---|
| public JsonGenerator writeName(SerializableString name) throws JacksonException Overrides tools. Doc from tools. Method similar to Default implementation simple uses unprocessed name container in serialized String; implementations are strongly encouraged to make use of more efficient methods argument object has.
| |
| writeNull | back to summary |
|---|---|
| public JsonGenerator writeNull() throws JacksonException Implements abstract tools. Doc from tools. Method for outputting literal JSON null value. Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeNumber | back to summary |
|---|---|
| public JsonGenerator writeNumber(short v) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting given value as JSON number. Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeNumber | back to summary |
|---|---|
| public JsonGenerator writeNumber(int v) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting given value as JSON number. Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeNumber | back to summary |
|---|---|
| public JsonGenerator writeNumber(long v) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting given value as JSON number. Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeNumber | back to summary |
|---|---|
| public JsonGenerator writeNumber(BigInteger v) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting given value as JSON number. Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeNumber | back to summary |
|---|---|
| public JsonGenerator writeNumber(double d) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting indicate JSON numeric value. Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeNumber | back to summary |
|---|---|
| public JsonGenerator writeNumber(float f) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting indicate JSON numeric value. Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeNumber | back to summary |
|---|---|
| public JsonGenerator writeNumber(BigDecimal dec) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting indicate JSON numeric value. Can be called in any context where a value is expected (Array value, Object property value, root-level value). Additional white space may be added around the value if pretty-printing is enabled.
| |
| writeNumber | back to summary |
|---|---|
| public JsonGenerator writeNumber(String encodedValue) throws JacksonException Implements abstract tools. Doc from tools. Write method that can be used for custom numeric types that can
not be (easily?) converted to "standard" Java number types.
Because numbers are not surrounded by double quotes, regular
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
| |
| writePropertyId | back to summary |
|---|---|
| public JsonGenerator writePropertyId(long id) throws JacksonException Implements abstract tools. Doc from tools. Alternative to
| |
| writeRaw | back to summary |
|---|---|
| public JsonGenerator writeRaw(String text) throws JacksonException Implements abstract tools. Doc from tools. Method that will force generator to copy
input text verbatim with no modifications (including
that no escaping is done and no separators are added even
if context [array, object] would otherwise require such).
If such separators are desired, use
Note that not all generator implementations necessarily support
such by-pass methods: those that do not will throw
| |
| writeRaw | back to summary |
|---|---|
| public JsonGenerator writeRaw(String text, int offset, int len) throws JacksonException Implements abstract tools. Doc from tools. Method that will force generator to copy
input text verbatim with no modifications (including
that no escaping is done and no separators are added even
if context [array, object] would otherwise require such).
If such separators are desired, use
Note that not all generator implementations necessarily support
such by-pass methods: those that do not will throw
| |
| writeRaw | back to summary |
|---|---|
| public JsonGenerator writeRaw(char[] text, int offset, int len) throws JacksonException Implements abstract tools. Doc from tools. Method that will force generator to copy
input text verbatim with no modifications (including
that no escaping is done and no separators are added even
if context [array, object] would otherwise require such).
If such separators are desired, use
Note that not all generator implementations necessarily support
such by-pass methods: those that do not will throw
| |
| writeRaw | back to summary |
|---|---|
| public JsonGenerator writeRaw(char c) throws JacksonException Implements abstract tools. Doc from tools. Method that will force generator to copy
input text verbatim with no modifications (including
that no escaping is done and no separators are added even
if context [array, object] would otherwise require such).
If such separators are desired, use
Note that not all generator implementations necessarily support
such by-pass methods: those that do not will throw
| |
| writeRawUTF8String | back to summary |
|---|---|
| public JsonGenerator writeRawUTF8String(byte[] text, int offset, int len) throws JacksonException Implements abstract tools. Doc from tools. Method similar to
Note that some backends may choose not to support this method: for
example, if underlying destination is a
| |
| writeRawValue | back to summary |
|---|---|
| public JsonGenerator writeRawValue(String text) throws JacksonException Overrides tools. Doc from tools. Method that will force generator to copy input text verbatim without any modifications, but assuming it must constitute a single legal JSON value (number, string, boolean, null, Array or List). Assuming this, proper separators are added if and as needed (comma or colon), and generator state updated to reflect this.
| |
| writeRawValue | back to summary |
|---|---|
| public JsonGenerator writeRawValue(String text, int offset, int len) throws JacksonException Overrides tools.
| |
| writeRawValue | back to summary |
|---|---|
| public JsonGenerator writeRawValue(char[] text, int offset, int len) throws JacksonException Overrides tools.
| |
| writeStartArray | back to summary |
|---|---|
| public JsonGenerator writeStartArray() throws JacksonException Implements abstract tools. Doc from tools. Method for writing starting marker of a Array value (for JSON this is character '['; plus possible white space decoration if pretty-printing is enabled). Array values can be written in any context where values are allowed: meaning everywhere except for when a property name is expected.
| |
| writeStartArray | back to summary |
|---|---|
| public JsonGenerator writeStartArray(Object currValue) throws JacksonException Implements abstract tools. Doc from tools. Method for writing start marker of an Array value, similar
to
| |
| writeStartArray | back to summary |
|---|---|
| public JsonGenerator writeStartArray(Object currValue, int len) throws JacksonException Overrides tools. Doc from tools. Method for writing start marker of an Array value, similar
to
| |
| writeStartObject | back to summary |
|---|---|
| public JsonGenerator writeStartObject() throws JacksonException Implements abstract tools. Doc from tools. Method for writing starting marker of an Object value (character '{'; plus possible white space decoration if pretty-printing is enabled). Object values can be written in any context where values are allowed: meaning everywhere except for when a property name is expected.
| |
| writeStartObject | back to summary |
|---|---|
| public JsonGenerator writeStartObject(Object forValue) throws JacksonException Implements abstract tools. Doc from tools. Method for writing starting marker of an Object value to represent the given Java Object value. Argument is offered as metadata, but more importantly it should be assigned as the "current value" for the Object content that gets constructed and initialized. Object values can be written in any context where values are allowed: meaning everywhere except for when a property name is expected.
| |
| writeString | back to summary |
|---|---|
| public JsonGenerator writeString(String text) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting a String value. Depending on context this means either array element, (object) property value or a stand-alone (root-level value) String; but in all cases, String will be surrounded in double quotes, and contents will be properly escaped as required by JSON specification.
| |
| writeString | back to summary |
|---|---|
| public JsonGenerator writeString(char[] text, int offset, int len) throws JacksonException Implements abstract tools. Doc from tools. Method for outputting a String value. Depending on context this means either array element, (object) property value or a stand alone String; but in all cases, String will be surrounded in double quotes, and contents will be properly escaped as required by JSON specification.
| |
| writeString | back to summary |
|---|---|
| public JsonGenerator writeString(SerializableString sstr) throws JacksonException Overrides tools. Doc from tools. Method similar to
Default implementation just calls
| |
| writeUTF8String | back to summary |
|---|---|
| public JsonGenerator writeUTF8String(byte[] text, int offset, int len) throws JacksonException Implements abstract tools. Doc from tools. Method similar to
Note that some backends may choose not to support this method: for
example, if underlying destination is a
| |