Class SmileFactory
- java.lang.Object
-
- com.fasterxml.jackson.core.TokenStreamFactory
-
- com.fasterxml.jackson.core.JsonFactory
-
- com.fasterxml.jackson.dataformat.smile.SmileFactory
-
- All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned,java.io.Serializable
public class SmileFactory extends com.fasterxml.jackson.core.JsonFactoryFactory used for constructingSmileParserandSmileGeneratorinstances; both of which handle Smile encoded data.Extends
JsonFactorymostly so that users can actually use it in place of regular non-Smile factory instances.Note on using non-byte-based sources/targets (char based, like
ReaderandWriter): these can not be used for Smile-format documents, and thus will either downgrade to textual JSON (when parsing), or throw exception (when trying to create generator).- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean_cfgDelegateToTextualWhether non-supported methods (ones trying to output using char-based targets likeWriter, for example) should be delegated to regular Jackson JSON processing (if set to true); or throwUnsupportedOperationException(if set to false)protected int_smileGeneratorFeaturesprotected int_smileParserFeatures(package private) static intDEFAULT_SMILE_GENERATOR_FEATURE_FLAGSBitfield (set of flags) of all generator features that are enabled by default.(package private) static intDEFAULT_SMILE_PARSER_FEATURE_FLAGSBitfield (set of flags) of all parser features that are enabled by default.static java.lang.StringFORMAT_NAME_SMILEName used to identify Smile format.private static longserialVersionUID-
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 SmileFactory()Default constructor used to create factory instances.SmileFactory(com.fasterxml.jackson.core.ObjectCodec oc)protectedSmileFactory(SmileFactoryBuilder b)Constructors used bySmileFactoryBuilderfor instantiation.SmileFactory(SmileFactory src, com.fasterxml.jackson.core.ObjectCodec oc)Note: REQUIRES 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 protected SmileGenerator_createGenerator(java.io.OutputStream out, com.fasterxml.jackson.core.io.IOContext ctxt)protected com.fasterxml.jackson.core.JsonGenerator_createGenerator(java.io.Writer out, com.fasterxml.jackson.core.io.IOContext ctxt)protected SmileParser_createParser(byte[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt)protected com.fasterxml.jackson.core.JsonParser_createParser(char[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt, boolean recyclable)protected SmileParser_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)protected com.fasterxml.jackson.core.JsonGenerator_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 SmileFactoryBuilderbuilder()Main factory method to use for constructingSmileFactoryinstances with different configuration.booleancanHandleBinaryNatively()booleancanParseAsync()booleancanUseCharArrays()SmileFactoryconfigure(SmileGenerator.Feature f, boolean state)Method for enabling or disabling specified generator feature (checkSmileGenerator.Featurefor list of features)SmileFactoryconfigure(SmileParser.Feature f, boolean state)Method for enabling or disabling specified parser feature (checkSmileParser.Featurefor list of features)SmileFactorycopy()SmileGeneratorcreateGenerator(java.io.OutputStream out)Method for constructingJsonGeneratorfor generating Smile-encoded output.SmileGeneratorcreateGenerator(java.io.OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc)Method for constructingJsonGeneratorfor generating Smile-encoded output.NonBlockingByteArrayParsercreateNonBlockingByteArrayParser()SmileParsercreateParser(byte[] data)SmileParsercreateParser(byte[] data, int offset, int len)SmileParsercreateParser(java.io.File f)SmileParsercreateParser(java.io.InputStream in)SmileParsercreateParser(java.net.URL url)voiddelegateToTextual(boolean state)SmileFactorydisable(SmileGenerator.Feature f)Method for disabling specified generator feature (checkSmileGenerator.Featurefor list of features)SmileFactorydisable(SmileParser.Feature f)Method for disabling specified parser features (checkSmileParser.Featurefor list of features)SmileFactoryenable(SmileGenerator.Feature f)Method for enabling specified generator features (checkSmileGenerator.Featurefor list of features)SmileFactoryenable(SmileParser.Feature f)Method for enabling specified parser feature (checkSmileParser.Featurefor list of features)intgetFormatGeneratorFeatures()java.lang.StringgetFormatName()intgetFormatParserFeatures()java.lang.Class<SmileParser.Feature>getFormatReadFeatureType()java.lang.Class<SmileGenerator.Feature>getFormatWriteFeatureType()com.fasterxml.jackson.core.format.MatchStrengthhasFormat(com.fasterxml.jackson.core.format.InputAccessor acc)Sub-classes need to override this method (as of 1.8)booleanisEnabled(SmileGenerator.Feature f)Check whether specified generator feature is enabled.booleanisEnabled(SmileParser.Feature f)Checked whether specified parser feature is enabled.protected java.lang.ObjectreadResolve()Method that we need to override to actually make restoration go through constructors etc.SmileFactoryBuilderrebuild()com.fasterxml.jackson.core.Versionversion()-
Methods inherited from class com.fasterxml.jackson.core.JsonFactory
_checkInvalidCopy, _copy, _createContentReference, _createContentReference, _createContext, _createContext, _createNonBlockingContext, _createParser, _decorate, _decorate, _decorate, _decorate, _decorate, _decorate, _getBufferRecycler, _getRecyclerPool, canUseSchema, configure, configure, configure, createGenerator, createGenerator, createGenerator, createGenerator, createJsonGenerator, createJsonGenerator, createJsonGenerator, createJsonParser, createJsonParser, createJsonParser, createJsonParser, createJsonParser, createJsonParser, createJsonParser, 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_SMILE
public static final java.lang.String FORMAT_NAME_SMILE
Name used to identify Smile format. (and returned bygetFormatName()- See Also:
- Constant Field Values
-
DEFAULT_SMILE_PARSER_FEATURE_FLAGS
static final int DEFAULT_SMILE_PARSER_FEATURE_FLAGS
Bitfield (set of flags) of all parser features that are enabled by default.
-
DEFAULT_SMILE_GENERATOR_FEATURE_FLAGS
static final int DEFAULT_SMILE_GENERATOR_FEATURE_FLAGS
Bitfield (set of flags) of all generator features that are enabled by default.
-
_cfgDelegateToTextual
protected boolean _cfgDelegateToTextual
Whether non-supported methods (ones trying to output using char-based targets likeWriter, for example) should be delegated to regular Jackson JSON processing (if set to true); or throwUnsupportedOperationException(if set to false)
-
_smileParserFeatures
protected int _smileParserFeatures
-
_smileGeneratorFeatures
protected int _smileGeneratorFeatures
-
-
Constructor Detail
-
SmileFactory
public SmileFactory()
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.
-
SmileFactory
public SmileFactory(com.fasterxml.jackson.core.ObjectCodec oc)
-
SmileFactory
public SmileFactory(SmileFactory src, com.fasterxml.jackson.core.ObjectCodec oc)
Note: REQUIRES 2.2.1 -- unfortunate intra-patch dep but seems preferable to just leaving bug be as is- Since:
- 2.2.1
-
SmileFactory
protected SmileFactory(SmileFactoryBuilder b)
Constructors used bySmileFactoryBuilderfor instantiation.
-
-
Method Detail
-
rebuild
public SmileFactoryBuilder rebuild()
- Overrides:
rebuildin classcom.fasterxml.jackson.core.JsonFactory
-
builder
public static SmileFactoryBuilder builder()
Main factory method to use for constructingSmileFactoryinstances with different configuration.
-
copy
public SmileFactory copy()
- Overrides:
copyin classcom.fasterxml.jackson.core.JsonFactory
-
delegateToTextual
public void delegateToTextual(boolean state)
-
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:
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
public java.lang.String getFormatName()
- Overrides:
getFormatNamein classcom.fasterxml.jackson.core.JsonFactory
-
hasFormat
public com.fasterxml.jackson.core.format.MatchStrength hasFormat(com.fasterxml.jackson.core.format.InputAccessor acc) throws java.io.IOExceptionSub-classes need to override this method (as of 1.8)- Overrides:
hasFormatin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
canUseCharArrays
public boolean canUseCharArrays()
- Overrides:
canUseCharArraysin classcom.fasterxml.jackson.core.JsonFactory
-
canHandleBinaryNatively
public boolean canHandleBinaryNatively()
- Overrides:
canHandleBinaryNativelyin classcom.fasterxml.jackson.core.JsonFactory
-
canParseAsync
public boolean canParseAsync()
- Overrides:
canParseAsyncin classcom.fasterxml.jackson.core.JsonFactory
-
getFormatReadFeatureType
public java.lang.Class<SmileParser.Feature> getFormatReadFeatureType()
- Overrides:
getFormatReadFeatureTypein classcom.fasterxml.jackson.core.JsonFactory
-
getFormatWriteFeatureType
public java.lang.Class<SmileGenerator.Feature> getFormatWriteFeatureType()
- Overrides:
getFormatWriteFeatureTypein classcom.fasterxml.jackson.core.JsonFactory
-
configure
public final SmileFactory configure(SmileParser.Feature f, boolean state)
Method for enabling or disabling specified parser feature (checkSmileParser.Featurefor list of features)
-
enable
public SmileFactory enable(SmileParser.Feature f)
Method for enabling specified parser feature (checkSmileParser.Featurefor list of features)
-
disable
public SmileFactory disable(SmileParser.Feature f)
Method for disabling specified parser features (checkSmileParser.Featurefor list of features)
-
isEnabled
public final boolean isEnabled(SmileParser.Feature f)
Checked whether specified parser feature is enabled.
-
getFormatParserFeatures
public int getFormatParserFeatures()
- Overrides:
getFormatParserFeaturesin classcom.fasterxml.jackson.core.JsonFactory
-
configure
public final SmileFactory configure(SmileGenerator.Feature f, boolean state)
Method for enabling or disabling specified generator feature (checkSmileGenerator.Featurefor list of features)- Since:
- 1.2
-
enable
public SmileFactory enable(SmileGenerator.Feature f)
Method for enabling specified generator features (checkSmileGenerator.Featurefor list of features)
-
disable
public SmileFactory disable(SmileGenerator.Feature f)
Method for disabling specified generator feature (checkSmileGenerator.Featurefor list of features)
-
isEnabled
public final boolean isEnabled(SmileGenerator.Feature f)
Check whether specified generator feature is enabled.
-
getFormatGeneratorFeatures
public int getFormatGeneratorFeatures()
- Overrides:
getFormatGeneratorFeaturesin classcom.fasterxml.jackson.core.JsonFactory
-
createParser
public SmileParser createParser(java.io.File f) throws java.io.IOException
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
createParser
public SmileParser createParser(java.net.URL url) throws java.io.IOException
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
createParser
public SmileParser createParser(java.io.InputStream in) throws java.io.IOException
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
createParser
public SmileParser createParser(byte[] data) throws java.io.IOException
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
createParser
public SmileParser createParser(byte[] data, int offset, int len) throws java.io.IOException
- Overrides:
createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
createGenerator
public SmileGenerator createGenerator(java.io.OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc) throws java.io.IOException
Method for constructingJsonGeneratorfor generating Smile-encoded output.Since Smile format always uses UTF-8 internally,
encargument is ignored.- Overrides:
createGeneratorin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
createGenerator
public SmileGenerator createGenerator(java.io.OutputStream out) throws java.io.IOException
Method for constructingJsonGeneratorfor generating Smile-encoded output.Since Smile format always uses UTF-8 internally, no encoding need to be passed to this method.
- Overrides:
createGeneratorin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
createNonBlockingByteArrayParser
public NonBlockingByteArrayParser createNonBlockingByteArrayParser() throws java.io.IOException
- Overrides:
createNonBlockingByteArrayParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException- Since:
- 2.9
-
_createParser
protected SmileParser _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:
_createParserin 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- Overrides:
_createParserin 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:
_createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
_createParser
protected SmileParser _createParser(byte[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException
- Overrides:
_createParserin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
_createGenerator
protected com.fasterxml.jackson.core.JsonGenerator _createGenerator(java.io.Writer out, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException- Overrides:
_createGeneratorin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
_createUTF8Generator
protected com.fasterxml.jackson.core.JsonGenerator _createUTF8Generator(java.io.OutputStream out, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException- Overrides:
_createUTF8Generatorin 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:
_createWriterin classcom.fasterxml.jackson.core.JsonFactory- Throws:
java.io.IOException
-
_nonByteSource
protected <T> T _nonByteSource() throws java.io.IOException- Throws:
java.io.IOException
-
_nonByteTarget
protected <T> T _nonByteTarget() throws java.io.IOException- Throws:
java.io.IOException
-
_createGenerator
protected SmileGenerator _createGenerator(java.io.OutputStream out, com.fasterxml.jackson.core.io.IOContext ctxt) throws java.io.IOException
- Throws:
java.io.IOException
-
-