com.fasterxml.jackson.dataformat.smile
Class SmileFactory

java.lang.Object
  extended by com.fasterxml.jackson.core.JsonFactory
      extended by com.fasterxml.jackson.dataformat.smile.SmileFactory
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned

public class SmileFactory
extends com.fasterxml.jackson.core.JsonFactory

Factory used for constructing SmileParser and SmileGenerator instances; both of which handle Smile encoded data.

Extends JsonFactory mostly 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 Reader and Writer): 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).

Author:
tatu

Nested Class Summary
 
Nested classes/interfaces inherited from class com.fasterxml.jackson.core.JsonFactory
com.fasterxml.jackson.core.JsonFactory.Feature
 
Field Summary
protected  boolean _cfgDelegateToTextual
          Whether non-supported methods (ones trying to output using char-based targets like Writer, for example) should be delegated to regular Jackson JSON processing (if set to true); or throw UnsupportedOperationException (if set to false)
protected  int _smileGeneratorFeatures
           
protected  int _smileParserFeatures
           
static String FORMAT_NAME_SMILE
          Name used to identify Smile format.
 
Fields inherited from class com.fasterxml.jackson.core.JsonFactory
_characterEscapes, _factoryFeatures, _generatorFeatures, _inputDecorator, _objectCodec, _outputDecorator, _parserFeatures, _recyclerRef, _rootByteSymbols, _rootCharSymbols, DEFAULT_FACTORY_FEATURE_FLAGS, DEFAULT_GENERATOR_FEATURE_FLAGS, DEFAULT_PARSER_FEATURE_FLAGS, FORMAT_NAME_JSON
 
Constructor Summary
SmileFactory()
          Default constructor used to create factory instances.
SmileFactory(com.fasterxml.jackson.core.ObjectCodec oc)
           
 
Method Summary
protected  SmileGenerator _createJsonGenerator(OutputStream out, com.fasterxml.jackson.core.io.IOContext ctxt)
           
protected  com.fasterxml.jackson.core.JsonGenerator _createJsonGenerator(Writer out, com.fasterxml.jackson.core.io.IOContext ctxt)
          Overridable factory method that actually instantiates desired generator.
protected  SmileParser _createJsonParser(byte[] data, int offset, int len, com.fasterxml.jackson.core.io.IOContext ctxt)
          Overridable factory method that actually instantiates desired parser.
protected  SmileParser _createJsonParser(InputStream in, com.fasterxml.jackson.core.io.IOContext ctxt)
          Overridable factory method that actually instantiates desired parser.
protected  com.fasterxml.jackson.core.JsonParser _createJsonParser(Reader r, com.fasterxml.jackson.core.io.IOContext ctxt)
          Overridable factory method that actually instantiates desired parser.
protected  Writer _createWriter(OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc, com.fasterxml.jackson.core.io.IOContext ctxt)
           
 SmileFactory configure(SmileGenerator.Feature f, boolean state)
          Method for enabling or disabling specified generator feature (check SmileGenerator.Feature for list of features)
 SmileFactory configure(SmileParser.Feature f, boolean state)
          Method for enabling or disabling specified parser feature (check SmileParser.Feature for list of features)
 SmileGenerator createJsonGenerator(OutputStream out)
          Since Smile format always uses UTF-8 internally, no encoding need to be passed to this method.
 SmileGenerator createJsonGenerator(OutputStream out, com.fasterxml.jackson.core.JsonEncoding enc)
           note: co-variant return type
 SmileParser createJsonParser(byte[] data)
           
 SmileParser createJsonParser(byte[] data, int offset, int len)
           
 SmileParser createJsonParser(File f)
           
 SmileParser createJsonParser(InputStream in)
           
 SmileParser createJsonParser(URL url)
           
 void delegateToTextual(boolean state)
           
 SmileFactory disable(SmileGenerator.Feature f)
          Method for disabling specified generator feature (check SmileGenerator.Feature for list of features)
 SmileFactory disable(SmileParser.Feature f)
          Method for disabling specified parser features (check SmileParser.Feature for list of features)
 SmileFactory enable(SmileGenerator.Feature f)
          Method for enabling specified generator features (check SmileGenerator.Feature for list of features)
 SmileFactory enable(SmileParser.Feature f)
          Method for enabling specified parser feature (check SmileParser.Feature for list of features)
 String getFormatName()
           
 com.fasterxml.jackson.core.format.MatchStrength hasFormat(com.fasterxml.jackson.core.format.InputAccessor acc)
          Sub-classes need to override this method (as of 1.8)
 boolean isEnabled(SmileGenerator.Feature f)
          Check whether specified generator feature is enabled.
 boolean isEnabled(SmileParser.Feature f)
          Checked whether specified parser feature is enabled.
 com.fasterxml.jackson.core.Version version()
           
 
Methods inherited from class com.fasterxml.jackson.core.JsonFactory
_createContext, _createUTF8JsonGenerator, _getBufferRecycler, _optimizedStreamFromURL, configure, configure, configure, createJsonGenerator, createJsonGenerator, createJsonParser, createJsonParser, disable, disable, disable, enable, enable, enable, getCharacterEscapes, getCodec, getInputDecorator, getOutputDecorator, hasJSONFormat, isEnabled, isEnabled, isEnabled, setCharacterEscapes, setCodec, setInputDecorator, setOutputDecorator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FORMAT_NAME_SMILE

public static final String FORMAT_NAME_SMILE
Name used to identify Smile format. (and returned by getFormatName()

See Also:
Constant Field Values

_cfgDelegateToTextual

protected boolean _cfgDelegateToTextual
Whether non-supported methods (ones trying to output using char-based targets like Writer, for example) should be delegated to regular Jackson JSON processing (if set to true); or throw UnsupportedOperationException (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)
Method Detail

delegateToTextual

public void delegateToTextual(boolean state)

version

public com.fasterxml.jackson.core.Version version()
Specified by:
version in interface com.fasterxml.jackson.core.Versioned
Overrides:
version in class com.fasterxml.jackson.core.JsonFactory

getFormatName

public String getFormatName()
Overrides:
getFormatName in class com.fasterxml.jackson.core.JsonFactory

hasFormat

public com.fasterxml.jackson.core.format.MatchStrength hasFormat(com.fasterxml.jackson.core.format.InputAccessor acc)
                                                          throws IOException
Sub-classes need to override this method (as of 1.8)

Overrides:
hasFormat in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException

configure

public final SmileFactory configure(SmileParser.Feature f,
                                    boolean state)
Method for enabling or disabling specified parser feature (check SmileParser.Feature for list of features)


enable

public SmileFactory enable(SmileParser.Feature f)
Method for enabling specified parser feature (check SmileParser.Feature for list of features)


disable

public SmileFactory disable(SmileParser.Feature f)
Method for disabling specified parser features (check SmileParser.Feature for list of features)


isEnabled

public final boolean isEnabled(SmileParser.Feature f)
Checked whether specified parser feature is enabled.


configure

public final SmileFactory configure(SmileGenerator.Feature f,
                                    boolean state)
Method for enabling or disabling specified generator feature (check SmileGenerator.Feature for list of features)

Since:
1.2

enable

public SmileFactory enable(SmileGenerator.Feature f)
Method for enabling specified generator features (check SmileGenerator.Feature for list of features)


disable

public SmileFactory disable(SmileGenerator.Feature f)
Method for disabling specified generator feature (check SmileGenerator.Feature for list of features)


isEnabled

public final boolean isEnabled(SmileGenerator.Feature f)
Check whether specified generator feature is enabled.


createJsonParser

public SmileParser createJsonParser(File f)
                             throws IOException,
                                    com.fasterxml.jackson.core.JsonParseException
Overrides:
createJsonParser in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

createJsonParser

public SmileParser createJsonParser(URL url)
                             throws IOException,
                                    com.fasterxml.jackson.core.JsonParseException
Overrides:
createJsonParser in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

createJsonParser

public SmileParser createJsonParser(InputStream in)
                             throws IOException,
                                    com.fasterxml.jackson.core.JsonParseException
Overrides:
createJsonParser in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

createJsonParser

public SmileParser createJsonParser(byte[] data)
                             throws IOException,
                                    com.fasterxml.jackson.core.JsonParseException
Overrides:
createJsonParser in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

createJsonParser

public SmileParser createJsonParser(byte[] data,
                                    int offset,
                                    int len)
                             throws IOException,
                                    com.fasterxml.jackson.core.JsonParseException
Overrides:
createJsonParser in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

createJsonGenerator

public SmileGenerator createJsonGenerator(OutputStream out,
                                          com.fasterxml.jackson.core.JsonEncoding enc)
                                   throws IOException

note: co-variant return type

Overrides:
createJsonGenerator in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException

createJsonGenerator

public SmileGenerator createJsonGenerator(OutputStream out)
                                   throws IOException
Since Smile format always uses UTF-8 internally, no encoding need to be passed to this method.

Overrides:
createJsonGenerator in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException

_createJsonParser

protected SmileParser _createJsonParser(InputStream in,
                                        com.fasterxml.jackson.core.io.IOContext ctxt)
                                 throws IOException,
                                        com.fasterxml.jackson.core.JsonParseException
Overridable factory method that actually instantiates desired parser.

Overrides:
_createJsonParser in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

_createJsonParser

protected com.fasterxml.jackson.core.JsonParser _createJsonParser(Reader r,
                                                                  com.fasterxml.jackson.core.io.IOContext ctxt)
                                                           throws IOException,
                                                                  com.fasterxml.jackson.core.JsonParseException
Overridable factory method that actually instantiates desired parser.

Overrides:
_createJsonParser in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

_createJsonParser

protected SmileParser _createJsonParser(byte[] data,
                                        int offset,
                                        int len,
                                        com.fasterxml.jackson.core.io.IOContext ctxt)
                                 throws IOException,
                                        com.fasterxml.jackson.core.JsonParseException
Overridable factory method that actually instantiates desired parser.

Overrides:
_createJsonParser in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

_createJsonGenerator

protected com.fasterxml.jackson.core.JsonGenerator _createJsonGenerator(Writer out,
                                                                        com.fasterxml.jackson.core.io.IOContext ctxt)
                                                                 throws IOException
Overridable factory method that actually instantiates desired generator.

Overrides:
_createJsonGenerator in class com.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:
_createWriter in class com.fasterxml.jackson.core.JsonFactory
Throws:
IOException

_createJsonGenerator

protected SmileGenerator _createJsonGenerator(OutputStream out,
                                              com.fasterxml.jackson.core.io.IOContext ctxt)
                                       throws IOException
Throws:
IOException


Copyright © 2012 fasterxml.com. All Rights Reserved.