Class CBORFactory
java.lang.Object
com.fasterxml.jackson.core.TokenStreamFactory
com.fasterxml.jackson.core.JsonFactory
com.fasterxml.jackson.dataformat.cbor.CBORFactory
- All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Serializable
public class CBORFactory
extends com.fasterxml.jackson.core.JsonFactory
Factory used for constructing
CBORParser and CBORGenerator
instances; both of which handle
CBOR
encoded data.
Extends JsonFactory mostly so that users can actually use it in place
of regular non-CBOR factory instances.
Note on using non-byte-based sources/targets (char based, like
Reader and Writer): these can not be
used for CBOR documents; attempt will throw exception.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.core.JsonFactory
com.fasterxml.jackson.core.JsonFactory.Feature -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected int(package private) static final intBitfield (set of flags) of all generator features that are enabled by default.(package private) static final intBitfield (set of flags) of all parser features that are enabled by default.static final StringName used to identify CBOR format.private static final longFields inherited from class com.fasterxml.jackson.core.JsonFactory
_byteSymbolCanonicalizer, _characterEscapes, _errorReportConfiguration, _factoryFeatures, _generatorDecorators, _generatorFeatures, _inputDecorator, _maximumNonEscapedChar, _objectCodec, _outputDecorator, _parserFeatures, _quoteChar, _recyclerPool, _rootCharSymbols, _rootValueSeparator, _streamReadConstraints, _streamWriteConstraints, DEFAULT_FACTORY_FEATURE_FLAGS, DEFAULT_GENERATOR_FEATURE_FLAGS, DEFAULT_PARSER_FEATURE_FLAGS, DEFAULT_QUOTE_CHAR, DEFAULT_ROOT_VALUE_SEPARATOR, FORMAT_NAME_JSON -
Constructor Summary
ConstructorsModifierConstructorDescriptionDefault constructor used to create factory instances.CBORFactory(com.fasterxml.jackson.core.ObjectCodec oc) protectedConstructors used byCBORFactoryBuilderfor instantiation.CBORFactory(CBORFactory src, com.fasterxml.jackson.core.ObjectCodec oc) Note: REQUIRES at least 2.2.1 -- unfortunate intra-patch dep but seems preferable to just leaving bug be as is -
Method Summary
Modifier and TypeMethodDescriptionprivate final CBORGenerator_createCBORGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int stdFeat, int formatFeat, com.fasterxml.jackson.core.ObjectCodec codec, OutputStream out) protected com.fasterxml.jackson.core.io.IOContext_createContext(com.fasterxml.jackson.core.io.ContentReference contentRef, boolean resourceManaged) protected CBORGenerator_createGenerator(Writer out, com.fasterxml.jackson.core.io.IOContext ctxt) protected CBORParser_createParser(byte[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt) Overridable factory method that actually instantiates desired parser.protected com.fasterxml.jackson.core.JsonParser_createParser(char[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt, boolean recyclable) protected CBORParser_createParser(InputStream in, com.fasterxml.jackson.core.io.IOContext ctxt) Overridable factory method that actually instantiates desired parser.protected com.fasterxml.jackson.core.JsonParser_createParser(Reader r, com.fasterxml.jackson.core.io.IOContext ctxt) Overridable factory method that actually instantiates desired parser.protected CBORGenerator_createUTF8Generator(OutputStream out, com.fasterxml.jackson.core.io.IOContext ctxt) protected Writer_createWriter(OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc, com.fasterxml.jackson.core.io.IOContext ctxt) protected <T> Tprotected <T> Tstatic CBORFactoryBuilderbuilder()Main factory method to use for constructingCBORFactoryinstances with different configuration.booleanbooleanfinal CBORFactoryconfigure(CBORGenerator.Feature f, boolean state) Method for enabling or disabling specified generator feature (checkCBORGenerator.Featurefor list of features)final CBORFactoryconfigure(CBORParser.Feature f, boolean state) Method for enabling or disabling specified parser feature (checkCBORParser.Featurefor list of features)copy()Method for constructingJsonGeneratorfor generating CBOR-encoded output.createGenerator(OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc) Method for constructingJsonGeneratorfor generating CBOR-encoded output.createParser(byte[] data) createParser(byte[] data, int offset, int len) createParser(File f) createParser(URL url) Method for disabling specified generator feature (checkCBORGenerator.Featurefor list of features)Method for disabling specified parser features (checkCBORParser.Featurefor list of features)Method for enabling specified generator features (checkCBORGenerator.Featurefor list of features)Method for enabling specified parser feature (checkCBORParser.Featurefor list of features)intintcom.fasterxml.jackson.core.format.MatchStrengthhasFormat(com.fasterxml.jackson.core.format.InputAccessor acc) final booleanCheck whether specified generator feature is enabled.final booleanChecked whether specified parser feature is enabled.protected ObjectMethod that we need to override to actually make restoration go through constructors etc.rebuild()com.fasterxml.jackson.core.Versionversion()Methods inherited from class com.fasterxml.jackson.core.JsonFactory
_checkInvalidCopy, _copy, _createContentReference, _createContentReference, _createContext, _createNonBlockingContext, _createParser, _decorate, _decorate, _decorate, _decorate, _decorate, _decorate, _getBufferRecycler, _getRecyclerPool, canParseAsync, canUseSchema, configure, configure, configure, createGenerator, createGenerator, createGenerator, createGenerator, createJsonGenerator, createJsonGenerator, createJsonGenerator, createJsonParser, createJsonParser, createJsonParser, createJsonParser, createJsonParser, createJsonParser, createJsonParser, createNonBlockingByteArrayParser, createNonBlockingByteBufferParser, createParser, createParser, createParser, createParser, createParser, disable, disable, disable, enable, enable, enable, getCharacterEscapes, getCodec, getFactoryFeatures, getGeneratorFeatures, getInputDecorator, getOutputDecorator, getParserFeatures, getRootValueSeparator, hasJSONFormat, isEnabled, isEnabled, isEnabled, isEnabled, isEnabled, requiresCustomCodec, requiresPropertyOrdering, setCharacterEscapes, setCodec, setErrorReportConfiguration, setInputDecorator, setOutputDecorator, setRecyclerPool, setRootValueSeparator, setStreamReadConstraints, setStreamWriteConstraints, streamReadConstraints, streamWriteConstraintsMethods inherited from class com.fasterxml.jackson.core.TokenStreamFactory
_checkRangeBoundsForByteArray, _checkRangeBoundsForCharArray, _createDataOutputWrapper, _fileInputStream, _fileOutputStream, _optimizedStreamFromURL, _reportRangeError
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
FORMAT_NAME
Name used to identify CBOR format. (and returned bygetFormatName()- See Also:
-
DEFAULT_CBOR_PARSER_FEATURE_FLAGS
static final int DEFAULT_CBOR_PARSER_FEATURE_FLAGSBitfield (set of flags) of all parser features that are enabled by default. -
DEFAULT_CBOR_GENERATOR_FEATURE_FLAGS
static final int DEFAULT_CBOR_GENERATOR_FEATURE_FLAGSBitfield (set of flags) of all generator features that are enabled by default. -
_formatParserFeatures
protected int _formatParserFeatures -
_formatGeneratorFeatures
protected int _formatGeneratorFeatures
-
-
Constructor Details
-
CBORFactory
public CBORFactory()Default constructor used to create factory instances. Creation of a factory instance is a light-weight operation, but it is still a good idea to reuse limited number of factory instances (and quite often just a single instance): factories are used as context for storing some reused processing objects (such as symbol tables parsers use) and this reuse only works within context of a single factory instance. -
CBORFactory
public CBORFactory(com.fasterxml.jackson.core.ObjectCodec oc) -
CBORFactory
Note: REQUIRES at least 2.2.1 -- unfortunate intra-patch dep but seems preferable to just leaving bug be as is- Since:
- 2.2.1
-
CBORFactory
Constructors used byCBORFactoryBuilderfor instantiation.- Since:
- 3.0
-
-
Method Details
-
rebuild
- Overrides:
rebuildin classcom.fasterxml.jackson.core.JsonFactory
-
builder
Main factory method to use for constructingCBORFactoryinstances with different configuration. -
copy
- Overrides:
copyin classcom.fasterxml.jackson.core.JsonFactory
-
readResolve
Method that we need to override to actually make restoration go through constructors etc. Also: must be overridden by sub-classes as well.- Overrides:
readResolvein classcom.fasterxml.jackson.core.JsonFactory
-
version
public com.fasterxml.jackson.core.Version version()- Specified by:
versionin interfacecom.fasterxml.jackson.core.Versioned- Overrides:
versionin classcom.fasterxml.jackson.core.JsonFactory
-
getFormatName
- Overrides:
getFormatNamein classcom.fasterxml.jackson.core.JsonFactory
-
canUseCharArrays
public boolean canUseCharArrays()- Overrides:
canUseCharArraysin classcom.fasterxml.jackson.core.JsonFactory
-
hasFormat
public com.fasterxml.jackson.core.format.MatchStrength hasFormat(com.fasterxml.jackson.core.format.InputAccessor acc) throws IOException - Overrides:
hasFormatin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
canHandleBinaryNatively
public boolean canHandleBinaryNatively()- Overrides:
canHandleBinaryNativelyin classcom.fasterxml.jackson.core.JsonFactory
-
getFormatReadFeatureType
- Overrides:
getFormatReadFeatureTypein classcom.fasterxml.jackson.core.JsonFactory
-
getFormatWriteFeatureType
- Overrides:
getFormatWriteFeatureTypein classcom.fasterxml.jackson.core.JsonFactory
-
configure
Method for enabling or disabling specified parser feature (checkCBORParser.Featurefor list of features) -
enable
Method for enabling specified parser feature (checkCBORParser.Featurefor list of features) -
disable
Method for disabling specified parser features (checkCBORParser.Featurefor list of features) -
isEnabled
Checked whether specified parser feature is enabled. -
getFormatParserFeatures
public int getFormatParserFeatures()- Overrides:
getFormatParserFeaturesin classcom.fasterxml.jackson.core.JsonFactory
-
configure
Method for enabling or disabling specified generator feature (checkCBORGenerator.Featurefor list of features) -
enable
Method for enabling specified generator features (checkCBORGenerator.Featurefor list of features) -
disable
Method for disabling specified generator feature (checkCBORGenerator.Featurefor list of features) -
isEnabled
Check whether specified generator feature is enabled. -
getFormatGeneratorFeatures
public int getFormatGeneratorFeatures()- Overrides:
getFormatGeneratorFeaturesin classcom.fasterxml.jackson.core.JsonFactory
-
createParser
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
createParser
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
createParser
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
createParser
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
createParser
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
createGenerator
public CBORGenerator createGenerator(OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc) throws IOException Method for constructingJsonGeneratorfor generating CBOR-encoded output.Since CBOR format always uses UTF-8 internally,
encargument is ignored.- Overrides:
createGeneratorin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
createGenerator
Method for constructingJsonGeneratorfor generating CBOR-encoded output.Since CBOR format always uses UTF-8 internally, no encoding need to be passed to this method.
- Overrides:
createGeneratorin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
_createContext
protected com.fasterxml.jackson.core.io.IOContext _createContext(com.fasterxml.jackson.core.io.ContentReference contentRef, boolean resourceManaged) - Overrides:
_createContextin classcom.fasterxml.jackson.core.JsonFactory
-
_createParser
protected CBORParser _createParser(InputStream in, com.fasterxml.jackson.core.io.IOContext ctxt) throws IOException Overridable factory method that actually instantiates desired parser.- Overrides:
_createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
_createParser
protected com.fasterxml.jackson.core.JsonParser _createParser(Reader r, com.fasterxml.jackson.core.io.IOContext ctxt) throws IOException Overridable factory method that actually instantiates desired parser.- Overrides:
_createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
_createParser
protected com.fasterxml.jackson.core.JsonParser _createParser(char[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt, boolean recyclable) throws IOException - Overrides:
_createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
_createParser
protected CBORParser _createParser(byte[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt) throws IOException Overridable factory method that actually instantiates desired parser.- Overrides:
_createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
_createGenerator
protected CBORGenerator _createGenerator(Writer out, com.fasterxml.jackson.core.io.IOContext ctxt) throws IOException - Overrides:
_createGeneratorin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
_createUTF8Generator
protected CBORGenerator _createUTF8Generator(OutputStream out, com.fasterxml.jackson.core.io.IOContext ctxt) throws IOException - Overrides:
_createUTF8Generatorin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
_createWriter
protected Writer _createWriter(OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc, com.fasterxml.jackson.core.io.IOContext ctxt) throws IOException - Overrides:
_createWriterin classcom.fasterxml.jackson.core.JsonFactory- Throws:
IOException
-
_createCBORGenerator
private final CBORGenerator _createCBORGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int stdFeat, int formatFeat, com.fasterxml.jackson.core.ObjectCodec codec, OutputStream out) throws IOException - Throws:
IOException
-
_nonByteSource
protected <T> T _nonByteSource() -
_nonByteTarget
protected <T> T _nonByteTarget()
-