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
,java.io.Serializable
public class CBORFactory extends com.fasterxml.jackson.core.JsonFactory
Factory used for constructingCBORParser
andCBORGenerator
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
andWriter
): these can not be used for CBOR documents; attempt will throw exception.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
_formatGeneratorFeatures
protected int
_formatParserFeatures
(package private) static int
DEFAULT_CBOR_GENERATOR_FEATURE_FLAGS
Bitfield (set of flags) of all generator features that are enabled by default.(package private) static int
DEFAULT_CBOR_PARSER_FEATURE_FLAGS
Bitfield (set of flags) of all parser features that are enabled by default.static java.lang.String
FORMAT_NAME
Name used to identify CBOR format.private static long
serialVersionUID
-
Fields 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
Constructors Modifier Constructor Description CBORFactory()
Default constructor used to create factory instances.CBORFactory(com.fasterxml.jackson.core.ObjectCodec oc)
protected
CBORFactory(CBORFactoryBuilder b)
Constructors used byCBORFactoryBuilder
for 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private CBORGenerator
_createCBORGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int stdFeat, int formatFeat, com.fasterxml.jackson.core.ObjectCodec codec, java.io.OutputStream out)
protected com.fasterxml.jackson.core.io.IOContext
_createContext(com.fasterxml.jackson.core.io.ContentReference contentRef, boolean resourceManaged)
protected CBORGenerator
_createGenerator(java.io.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(java.io.InputStream in, com.fasterxml.jackson.core.io.IOContext ctxt)
Overridable factory method that actually instantiates desired parser.protected com.fasterxml.jackson.core.JsonParser
_createParser(java.io.Reader r, com.fasterxml.jackson.core.io.IOContext ctxt)
Overridable factory method that actually instantiates desired parser.protected CBORGenerator
_createUTF8Generator(java.io.OutputStream out, com.fasterxml.jackson.core.io.IOContext ctxt)
protected java.io.Writer
_createWriter(java.io.OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc, com.fasterxml.jackson.core.io.IOContext ctxt)
protected <T> T
_nonByteSource()
protected <T> T
_nonByteTarget()
static CBORFactoryBuilder
builder()
Main factory method to use for constructingCBORFactory
instances with different configuration.boolean
canHandleBinaryNatively()
boolean
canUseCharArrays()
CBORFactory
configure(CBORGenerator.Feature f, boolean state)
Method for enabling or disabling specified generator feature (checkCBORGenerator.Feature
for list of features)CBORFactory
configure(CBORParser.Feature f, boolean state)
Method for enabling or disabling specified parser feature (checkCBORParser.Feature
for list of features)CBORFactory
copy()
CBORGenerator
createGenerator(java.io.OutputStream out)
Method for constructingJsonGenerator
for generating CBOR-encoded output.CBORGenerator
createGenerator(java.io.OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc)
Method for constructingJsonGenerator
for generating CBOR-encoded output.CBORParser
createParser(byte[] data)
CBORParser
createParser(byte[] data, int offset, int len)
CBORParser
createParser(java.io.File f)
CBORParser
createParser(java.io.InputStream in)
CBORParser
createParser(java.net.URL url)
CBORFactory
disable(CBORGenerator.Feature f)
Method for disabling specified generator feature (checkCBORGenerator.Feature
for list of features)CBORFactory
disable(CBORParser.Feature f)
Method for disabling specified parser features (checkCBORParser.Feature
for list of features)CBORFactory
enable(CBORGenerator.Feature f)
Method for enabling specified generator features (checkCBORGenerator.Feature
for list of features)CBORFactory
enable(CBORParser.Feature f)
Method for enabling specified parser feature (checkCBORParser.Feature
for list of features)int
getFormatGeneratorFeatures()
java.lang.String
getFormatName()
int
getFormatParserFeatures()
java.lang.Class<CBORParser.Feature>
getFormatReadFeatureType()
java.lang.Class<CBORGenerator.Feature>
getFormatWriteFeatureType()
com.fasterxml.jackson.core.format.MatchStrength
hasFormat(com.fasterxml.jackson.core.format.InputAccessor acc)
boolean
isEnabled(CBORGenerator.Feature f)
Check whether specified generator feature is enabled.boolean
isEnabled(CBORParser.Feature f)
Checked whether specified parser feature is enabled.protected java.lang.Object
readResolve()
Method that we need to override to actually make restoration go through constructors etc.CBORFactoryBuilder
rebuild()
com.fasterxml.jackson.core.Version
version()
-
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, streamWriteConstraints
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
FORMAT_NAME
public static final java.lang.String FORMAT_NAME
Name used to identify CBOR format. (and returned bygetFormatName()
- See Also:
- Constant Field Values
-
DEFAULT_CBOR_PARSER_FEATURE_FLAGS
static final int DEFAULT_CBOR_PARSER_FEATURE_FLAGS
Bitfield (set of flags) of all parser features that are enabled by default.
-
DEFAULT_CBOR_GENERATOR_FEATURE_FLAGS
static final int DEFAULT_CBOR_GENERATOR_FEATURE_FLAGS
Bitfield (set of flags) of all generator features that are enabled by default.
-
_formatParserFeatures
protected int _formatParserFeatures
-
_formatGeneratorFeatures
protected int _formatGeneratorFeatures
-
-
Constructor Detail
-
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
public 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- Since:
- 2.2.1
-
CBORFactory
protected CBORFactory(CBORFactoryBuilder b)
Constructors used byCBORFactoryBuilder
for instantiation.- Since:
- 3.0
-
-
Method Detail
-
rebuild
public CBORFactoryBuilder rebuild()
- Overrides:
rebuild
in classcom.fasterxml.jackson.core.JsonFactory
-
builder
public static CBORFactoryBuilder builder()
Main factory method to use for constructingCBORFactory
instances with different configuration.
-
copy
public CBORFactory copy()
- Overrides:
copy
in classcom.fasterxml.jackson.core.JsonFactory
-
readResolve
protected java.lang.Object 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:
readResolve
in classcom.fasterxml.jackson.core.JsonFactory
-
version
public com.fasterxml.jackson.core.Version version()
- Specified by:
version
in interfacecom.fasterxml.jackson.core.Versioned
- Overrides:
version
in classcom.fasterxml.jackson.core.JsonFactory
-
getFormatName
public java.lang.String getFormatName()
- Overrides:
getFormatName
in classcom.fasterxml.jackson.core.JsonFactory
-
canUseCharArrays
public boolean canUseCharArrays()
- Overrides:
canUseCharArrays
in classcom.fasterxml.jackson.core.JsonFactory
-
hasFormat
public com.fasterxml.jackson.core.format.MatchStrength hasFormat(com.fasterxml.jackson.core.format.InputAccessor acc) throws java.io.IOException
- Overrides:
hasFormat
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
canHandleBinaryNatively
public boolean canHandleBinaryNatively()
- Overrides:
canHandleBinaryNatively
in classcom.fasterxml.jackson.core.JsonFactory
-
getFormatReadFeatureType
public java.lang.Class<CBORParser.Feature> getFormatReadFeatureType()
- Overrides:
getFormatReadFeatureType
in classcom.fasterxml.jackson.core.JsonFactory
-
getFormatWriteFeatureType
public java.lang.Class<CBORGenerator.Feature> getFormatWriteFeatureType()
- Overrides:
getFormatWriteFeatureType
in classcom.fasterxml.jackson.core.JsonFactory
-
configure
public final CBORFactory configure(CBORParser.Feature f, boolean state)
Method for enabling or disabling specified parser feature (checkCBORParser.Feature
for list of features)
-
enable
public CBORFactory enable(CBORParser.Feature f)
Method for enabling specified parser feature (checkCBORParser.Feature
for list of features)
-
disable
public CBORFactory disable(CBORParser.Feature f)
Method for disabling specified parser features (checkCBORParser.Feature
for list of features)
-
isEnabled
public final boolean isEnabled(CBORParser.Feature f)
Checked whether specified parser feature is enabled.
-
getFormatParserFeatures
public int getFormatParserFeatures()
- Overrides:
getFormatParserFeatures
in classcom.fasterxml.jackson.core.JsonFactory
-
configure
public final CBORFactory configure(CBORGenerator.Feature f, boolean state)
Method for enabling or disabling specified generator feature (checkCBORGenerator.Feature
for list of features)
-
enable
public CBORFactory enable(CBORGenerator.Feature f)
Method for enabling specified generator features (checkCBORGenerator.Feature
for list of features)
-
disable
public CBORFactory disable(CBORGenerator.Feature f)
Method for disabling specified generator feature (checkCBORGenerator.Feature
for list of features)
-
isEnabled
public final boolean isEnabled(CBORGenerator.Feature f)
Check whether specified generator feature is enabled.
-
getFormatGeneratorFeatures
public int getFormatGeneratorFeatures()
- Overrides:
getFormatGeneratorFeatures
in classcom.fasterxml.jackson.core.JsonFactory
-
createParser
public CBORParser createParser(java.io.File f) throws java.io.IOException
- Overrides:
createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
createParser
public CBORParser createParser(java.net.URL url) throws java.io.IOException
- Overrides:
createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
createParser
public CBORParser createParser(java.io.InputStream in) throws java.io.IOException
- Overrides:
createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
createParser
public CBORParser createParser(byte[] data) throws java.io.IOException
- Overrides:
createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
createParser
public CBORParser createParser(byte[] data, int offset, int len) throws java.io.IOException
- Overrides:
createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
createGenerator
public CBORGenerator createGenerator(java.io.OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc) throws java.io.IOException
Method for constructingJsonGenerator
for generating CBOR-encoded output.Since CBOR format always uses UTF-8 internally,
enc
argument is ignored.- Overrides:
createGenerator
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
createGenerator
public CBORGenerator createGenerator(java.io.OutputStream out) throws java.io.IOException
Method for constructingJsonGenerator
for generating CBOR-encoded output.Since CBOR format always uses UTF-8 internally, no encoding need to be passed to this method.
- Overrides:
createGenerator
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
_createContext
protected com.fasterxml.jackson.core.io.IOContext _createContext(com.fasterxml.jackson.core.io.ContentReference contentRef, boolean resourceManaged)
- Overrides:
_createContext
in classcom.fasterxml.jackson.core.JsonFactory
-
_createParser
protected CBORParser _createParser(java.io.InputStream in, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException
Overridable factory method that actually instantiates desired parser.- Overrides:
_createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
_createParser
protected com.fasterxml.jackson.core.JsonParser _createParser(java.io.Reader r, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException
Overridable factory method that actually instantiates desired parser.- Overrides:
_createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.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 java.io.IOException
- Overrides:
_createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
_createParser
protected CBORParser _createParser(byte[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException
Overridable factory method that actually instantiates desired parser.- Overrides:
_createParser
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
_createGenerator
protected CBORGenerator _createGenerator(java.io.Writer out, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException
- Overrides:
_createGenerator
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
_createUTF8Generator
protected CBORGenerator _createUTF8Generator(java.io.OutputStream out, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException
- Overrides:
_createUTF8Generator
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
_createWriter
protected java.io.Writer _createWriter(java.io.OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException
- Overrides:
_createWriter
in classcom.fasterxml.jackson.core.JsonFactory
- Throws:
java.io.IOException
-
_createCBORGenerator
private final CBORGenerator _createCBORGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int stdFeat, int formatFeat, com.fasterxml.jackson.core.ObjectCodec codec, java.io.OutputStream out) throws java.io.IOException
- Throws:
java.io.IOException
-
_nonByteSource
protected <T> T _nonByteSource()
-
_nonByteTarget
protected <T> T _nonByteTarget()
-
-