public abstract class JsonGeneratorImpl extends GeneratorBase
UTF8JsonGenerator
and WriterBasedJsonGenerator
.JsonGenerator.Feature
Modifier and Type | Field and Description |
---|---|
protected boolean |
_cfgUnqNames
Flag that is set if quoting is not to be added around
JSON Object property names.
|
protected CharacterEscapes |
_characterEscapes
Definition of custom character escapes to use for generators created
by this factory, if any.
|
protected IOContext |
_ioContext |
protected int |
_maximumNonEscapedChar
Value between 128 (0x80) and 65535 (0xFFFF) that indicates highest
Unicode code point that will not need escaping; or 0 to indicate
that all characters can be represented without escaping.
|
protected int[] |
_outputEscapes
Currently active set of output escape code definitions (whether
and how to escape or not) for 7-bit ASCII range (first 128
character codes).
|
protected SerializableString |
_rootValueSeparator
Separator to use, if any, between root-level values.
|
protected static JacksonFeatureSet<StreamWriteCapability> |
JSON_WRITE_CAPABILITIES
Default capabilities for JSON generator implementations which do not
different from "general textual" defaults
|
protected static int[] |
sOutputEscapes
This is the default set of escape codes, over 7-bit ASCII range
(first 128 character codes), used for single-byte UTF-8 characters.
|
_cfgNumbersAsStrings, _closed, _features, _objectCodec, _writeContext, DERIVED_FEATURES_MASK, MAX_BIG_DECIMAL_SCALE, SURR1_FIRST, SURR1_LAST, SURR2_FIRST, SURR2_LAST, WRITE_BINARY, WRITE_BOOLEAN, WRITE_NULL, WRITE_NUMBER, WRITE_RAW, WRITE_STRING
_cfgPrettyPrinter, DEFAULT_BINARY_WRITE_CAPABILITIES, DEFAULT_TEXTUAL_WRITE_CAPABILITIES, DEFAULT_WRITE_CAPABILITIES
Constructor and Description |
---|
JsonGeneratorImpl(IOContext ctxt,
int features,
ObjectCodec codec) |
Modifier and Type | Method and Description |
---|---|
protected void |
_checkStdFeatureChanges(int newFeatureFlags,
int changedFeatures)
Helper method called to verify changes to standard features.
|
protected void |
_reportCantWriteValueExpectName(String typeMsg) |
protected void |
_verifyPrettyValueWrite(String typeMsg,
int status) |
JsonGenerator |
disable(JsonGenerator.Feature f)
Method for disabling specified feature
(check
JsonGenerator.Feature for list of features) |
JsonGenerator |
enable(JsonGenerator.Feature f)
Method for enabling specified generator feature:
check
JsonGenerator.Feature for list of available features. |
CharacterEscapes |
getCharacterEscapes()
Method for accessing custom escapes factory uses for
JsonGenerator s
it creates. |
int |
getHighestEscapedChar()
Accessor method for testing what is the highest unescaped character
configured for this generator.
|
JacksonFeatureSet<StreamWriteCapability> |
getWriteCapabilities()
Accessor for getting metadata on capabilities of this generator, based on
underlying data format being read (directly or indirectly).
|
JsonGenerator |
setCharacterEscapes(CharacterEscapes esc)
Method for defining custom escapes factory uses for
JsonGenerator s
it creates. |
JsonGenerator |
setHighestNonEscapedChar(int charCode)
Method that can be called to request that generator escapes
all character codes above specified code point (if positive value);
or, to not escape any characters except for ones that must be
escaped for the data format (if -1).
|
JsonGenerator |
setRootValueSeparator(SerializableString sep)
Method that allows overriding String used for separating root-level
JSON values (default is single space character)
|
Version |
version()
Implemented with standard version number detection algorithm, typically using
a simple generated class, with information extracted from Maven project file
during build.
|
_asString, _constructDefaultPrettyPrinter, _decodeSurrogate, _releaseBuffers, _verifyValueWrite, close, flush, getCodec, getCurrentValue, getFeatureMask, getOutputContext, isClosed, isEnabled, overrideStdFeatures, setCodec, setCurrentValue, setFeatureMask, useDefaultPrettyPrinter, writeBinary, writeFieldName, writeObject, writeRawValue, writeRawValue, writeRawValue, writeRawValue, writeStartObject, writeString, writeTree
_copyCurrentContents, _reportError, _reportUnsupportedOperation, _throwInternal, _verifyOffsets, _writeSimpleObject, assignCurrentValue, canOmitFields, canUseSchema, canWriteBinaryNatively, canWriteFormattedNumbers, canWriteObjectId, canWriteTypeId, configure, copyCurrentEvent, copyCurrentStructure, currentValue, getFormatFeatures, getOutputBuffered, getOutputTarget, getPrettyPrinter, getSchema, isEnabled, overrideFormatFeatures, setPrettyPrinter, setSchema, writeArray, writeArray, writeArray, writeArray, writeArrayFieldStart, writeBinary, writeBinary, writeBinary, writeBinary, writeBinaryField, writeBoolean, writeBooleanField, writeEmbeddedObject, writeEndArray, writeEndObject, writeFieldId, writeFieldName, writeNull, writeNullField, writeNumber, writeNumber, writeNumber, writeNumber, writeNumber, writeNumber, writeNumber, writeNumber, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeObjectId, writeObjectRef, writeOmittedField, writePOJO, writePOJOField, writeRaw, writeRaw, writeRaw, writeRaw, writeRaw, writeRawUTF8String, writeStartArray, writeStartArray, writeStartArray, writeStartArray, writeStartObject, writeStartObject, writeString, writeString, writeString, writeStringField, writeTypeId, writeTypePrefix, writeTypeSuffix, writeUTF8String
protected static final int[] sOutputEscapes
protected static final JacksonFeatureSet<StreamWriteCapability> JSON_WRITE_CAPABILITIES
protected final IOContext _ioContext
protected int[] _outputEscapes
protected int _maximumNonEscapedChar
NOTE: not all sub-classes make use of this setting.
protected CharacterEscapes _characterEscapes
protected SerializableString _rootValueSeparator
protected boolean _cfgUnqNames
public JsonGeneratorImpl(IOContext ctxt, int features, ObjectCodec codec)
public Version version()
GeneratorBase
version
in interface Versioned
version
in class GeneratorBase
public JsonGenerator enable(JsonGenerator.Feature f)
JsonGenerator
JsonGenerator.Feature
for list of available features.enable
in class GeneratorBase
f
- Feature to enablepublic JsonGenerator disable(JsonGenerator.Feature f)
JsonGenerator
JsonGenerator.Feature
for list of features)disable
in class GeneratorBase
f
- Feature to disableprotected void _checkStdFeatureChanges(int newFeatureFlags, int changedFeatures)
GeneratorBase
_checkStdFeatureChanges
in class GeneratorBase
newFeatureFlags
- Bitflag of standard features after they were changedchangedFeatures
- Bitflag of standard features for which setting
did changepublic JsonGenerator setHighestNonEscapedChar(int charCode)
JsonGenerator
Note that generators are NOT required to support setting of value higher than 127, because there are other ways to affect quoting (or lack thereof) of character codes between 0 and 127. Not all generators support concept of escaping, either; if so, calling this method will have no effect.
Default implementation does nothing; sub-classes need to redefine it according to rules of supported data format.
setHighestNonEscapedChar
in class JsonGenerator
charCode
- Either -1 to indicate that no additional escaping
is to be done; or highest code point not to escape (meaning higher
ones will be), if positive value.public int getHighestEscapedChar()
JsonGenerator
getHighestEscapedChar
in class JsonGenerator
public JsonGenerator setCharacterEscapes(CharacterEscapes esc)
JsonGenerator
JsonGenerator
s
it creates.
Default implementation does nothing and simply returns this instance.
setCharacterEscapes
in class JsonGenerator
esc
- CharacterEscapes
to configure this generator to use, if any; null
if nonepublic CharacterEscapes getCharacterEscapes()
JsonGenerator
s
it creates.getCharacterEscapes
in class JsonGenerator
CharacterEscapes
configured for this generator, if any; null
if nonepublic JsonGenerator setRootValueSeparator(SerializableString sep)
JsonGenerator
Default implementation throws UnsupportedOperationException
.
setRootValueSeparator
in class JsonGenerator
sep
- Separator to use, if any; null means that no separator is
automatically addedpublic JacksonFeatureSet<StreamWriteCapability> getWriteCapabilities()
JsonGenerator
getWriteCapabilities
in class JsonGenerator
protected void _verifyPrettyValueWrite(String typeMsg, int status) throws IOException
IOException
protected void _reportCantWriteValueExpectName(String typeMsg) throws IOException
IOException
Copyright © 2008–2021 FasterXML. All rights reserved.