public abstract class GeneratorBase extends JsonGenerator
JsonGenerator.Feature| 限定符和类型 | 方法和说明 |
|---|---|
void |
close()
Method called to close this generator, so that no more content
can be written.
|
void |
copyCurrentEvent(JacksonParser jp)
Method for copying contents of the current event that
the given parser instance points to.
|
void |
copyCurrentStructure(JacksonParser jp)
Method for copying contents of the current event
and following events that it encloses
the given parser instance points to.
|
JsonGenerator |
disable(JsonGenerator.Feature f)
Method for disabling specified features
(check
JsonGenerator.Feature for list of features) |
JsonGenerator |
enable(JsonGenerator.Feature f)
Method for enabling specified parser features:
check
JsonGenerator.Feature for list of available features. |
abstract void |
flush()
Method called to flush any buffered content to the underlying
target (output stream, writer), and to flush the target itself
as well.
|
ObjectCodec |
getCodec()
Method for accessing the object used for writing Java
object as Json content
(using method
JsonGenerator.writeObject(java.lang.Object)). |
JsonWriteContext |
getOutputContext()
Note: co-variant return type.
|
boolean |
isClosed()
Method that can be called to determine whether this generator
is closed or not.
|
boolean |
isEnabled(JsonGenerator.Feature f)
Method for checking whether given feature is enabled.
|
JsonGenerator |
setCodec(ObjectCodec oc)
Method that can be called to set or reset the object to
use for writing Java objects as JsonContent
(using method
JsonGenerator.writeObject(java.lang.Object)). |
JsonGenerator |
useDefaultPrettyPrinter()
Convenience method for enabling pretty-printing using
the default pretty printer
(
DefaultPrettyPrinter). |
Version |
version()
Implemented with detection that tries to find "VERSION.txt" in same
package as the implementation class.
|
void |
writeFieldName(SerializableString name)
Method similar to
JsonGenerator.writeFieldName(String), main difference
being that it may perform better as some of processing (such as
quoting of certain characters, or encoding into external encoding
if supported by generator) can be done just once and reused for
later calls. |
void |
writeObject(Object value)
Method for writing given Java object (POJO) as Json.
|
void |
writeRawValue(char[] text,
int offset,
int len) |
void |
writeRawValue(String text)
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).
|
void |
writeRawValue(String text,
int offset,
int len) |
void |
writeString(SerializableString text)
Method similar to
JsonGenerator.writeString(String), but that takes
SerializableString which can make this potentially
more efficient to call as generator may be able to reuse
quoted and/or encoded representation. |
void |
writeTree(TreeNode rootNode)
Method for writing given JSON tree (expressed as a tree
where given JsonNode is the root) using this generator.
|
canUseSchema, configure, getCharacterEscapes, getHighestEscapedChar, getOutputTarget, getSchema, setCharacterEscapes, setHighestNonEscapedChar, setPrettyPrinter, setSchema, writeArrayFieldStart, writeBinary, writeBinary, writeBinary, writeBinaryField, writeBoolean, writeBooleanField, writeEndArray, writeEndObject, writeFieldName, writeNull, writeNullField, writeNumber, writeNumber, writeNumber, writeNumber, writeNumber, writeNumber, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeRaw, writeRaw, writeRaw, writeRaw, writeRawUTF8String, writeStartArray, writeStartObject, writeString, writeString, writeStringField, writeUTF8Stringpublic Version version()
version 在接口中 Versionedversion 在类中 JsonGeneratorpublic JsonGenerator enable(JsonGenerator.Feature f)
JsonGeneratorJsonGenerator.Feature for list of available features.enable 在类中 JsonGeneratorpublic JsonGenerator disable(JsonGenerator.Feature f)
JsonGeneratorJsonGenerator.Feature for list of features)disable 在类中 JsonGeneratorpublic final boolean isEnabled(JsonGenerator.Feature f)
JsonGeneratorJsonGenerator.Feature for list of available features.isEnabled 在类中 JsonGeneratorpublic JsonGenerator useDefaultPrettyPrinter()
JsonGeneratorDefaultPrettyPrinter).useDefaultPrettyPrinter 在类中 JsonGeneratorpublic JsonGenerator setCodec(ObjectCodec oc)
JsonGeneratorJsonGenerator.writeObject(java.lang.Object)).setCodec 在类中 JsonGeneratorpublic final ObjectCodec getCodec()
JsonGeneratorJsonGenerator.writeObject(java.lang.Object)).getCodec 在类中 JsonGeneratorpublic final JsonWriteContext getOutputContext()
getOutputContext 在类中 JsonGeneratorpublic void writeFieldName(SerializableString name) throws IOException, JsonGenerationException
JsonGeneratorJsonGenerator.writeFieldName(String), main difference
being that it may perform better as some of processing (such as
quoting of certain characters, or encoding into external encoding
if supported by generator) can be done just once and reused for
later calls.
Default implementation simple uses unprocessed name container in serialized String; implementations are strongly encouraged to make use of more efficient methods argument object has.
writeFieldName 在类中 JsonGeneratorIOExceptionJsonGenerationExceptionpublic void writeString(SerializableString text) throws IOException, JsonGenerationException
JsonGeneratorJsonGenerator.writeString(String), but that takes
SerializableString which can make this potentially
more efficient to call as generator may be able to reuse
quoted and/or encoded representation.
Default implementation just calls JsonGenerator.writeString(String);
sub-classes should override it with more efficient implementation
if possible.
writeString 在类中 JsonGeneratorIOExceptionJsonGenerationExceptionpublic void writeRawValue(String text) throws IOException, JsonGenerationException
JsonGeneratorwriteRawValue 在类中 JsonGeneratorIOExceptionJsonGenerationExceptionpublic void writeRawValue(String text, int offset, int len) throws IOException, JsonGenerationException
writeRawValue 在类中 JsonGeneratorIOExceptionJsonGenerationExceptionpublic void writeRawValue(char[] text,
int offset,
int len)
throws IOException,
JsonGenerationException
writeRawValue 在类中 JsonGeneratorIOExceptionJsonGenerationExceptionpublic void writeObject(Object value) throws IOException, JsonProcessingException
JsonGeneratorwriteObject 在类中 JsonGeneratorIOExceptionJsonProcessingExceptionpublic void writeTree(TreeNode rootNode) throws IOException, JsonProcessingException
JsonGeneratorJsonGenerator.writeObject(java.lang.Object) with given node, but is added
for convenience and to make code more explicit in cases
where it deals specifically with trees.writeTree 在类中 JsonGeneratorIOExceptionJsonProcessingExceptionpublic abstract void flush()
throws IOException
JsonGeneratorflush 在类中 JsonGeneratorIOExceptionpublic 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 在接口中 Closeableclose 在接口中 AutoCloseableclose 在类中 JsonGeneratorIOExceptionpublic boolean isClosed()
JsonGeneratorisClosed 在类中 JsonGeneratorpublic final void copyCurrentEvent(JacksonParser jp) throws IOException, JsonProcessingException
JsonGeneratorCalling this method will not advance the given parser, although it may cause parser to internally process more data (if it lazy loads contents of value events, for example)
copyCurrentEvent 在类中 JsonGeneratorIOExceptionJsonProcessingExceptionpublic final void copyCurrentStructure(JacksonParser jp) throws IOException, JsonProcessingException
JsonGeneratorSo what constitutes enclosing? Here is the list of events that have associated enclosed events that will get copied:
JsonToken.START_OBJECT:
all events up to and including matching (closing)
JsonToken.END_OBJECT will be copied
JsonToken.START_ARRAY
all events up to and including matching (closing)
JsonToken.END_ARRAY will be copied
JsonToken.FIELD_NAME the logical value (which
can consist of a single scalar value; or a sequence of related
events for structured types (Json Arrays, Objects)) will
be copied along with the name itself. So essentially the
whole field entry (name and value) will be copied.
After calling this method, parser will point to the last event that was copied. This will either be the event parser already pointed to (if there were no enclosed events), or the last enclosed event copied.
Copyright © 2002–2019 The MyMMSCs Software Foundation. All rights reserved.