SmileParser and SmileGenerator
instances; both of which handle
Smile encoded data.
Extends TokenStreamFactory 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
java. and java.): 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).
| Modifier and Type | Field and Description |
|---|---|
| protected final transient ByteQuadsCanonicalizer | _byteSymbolCanonicalizer
Alternative to the basic symbol table, some stream-based parsers use different name canonicalization method. |
| pack-priv static final int | DEFAULT_SMILE_GENERATOR_FEATURE_FLAGS
Bitfield (set of flags) of all generator features that are enabled by default. |
| pack-priv static final int | DEFAULT_SMILE_PARSER_FEATURE_FLAGS
Bitfield (set of flags) of all parser features that are enabled by default. |
| public static final String | FORMAT_NAME_SMILE
Name used to identify Smile format. |
| private static final long |
| Access | Constructor and Description |
|---|---|
| public | |
| public | |
| protected |
| Modifier and Type | Method and Description |
|---|---|
| protected JsonGenerator | _createGenerator(ObjectWriteContext writeCtxt, IOContext ioCtxt, OutputStream out)
Implements abstract tools. Overridable factory method that actually instantiates generator for
given |
| protected JsonParser | _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in)
Implements abstract tools. Overridable factory method that actually instantiates desired parser. |
| protected JsonParser | _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len)
Implements abstract tools.
|
| protected JsonParser | _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, DataInput input)
Implements abstract tools.
|
| public static SmileFactoryBuilder | builder()
Main factory method to use for constructing |
| public boolean | canParseAsync()
Implements abstract tools. Introspection method that can be used to check whether this
factory can create non-blocking parsers: parsers that do not
use blocking I/O abstractions but instead use a
|
| public boolean | canUseSchema(FormatSchema schema)
Implements abstract tools. Method that can be used to quickly check whether given schema is something that parsers and/or generators constructed by this factory could use. |
| public PropertyNameMatcher | constructCINameMatcher(List<Named> matches, boolean alreadyInterned, Locale locale)
Overrides tools. Factory method for constructing case-insensitive |
| public PropertyNameMatcher | constructNameMatcher(List<Named> matches, boolean alreadyInterned)
Overrides tools. Factory method for constructing case-sensitive |
| public SmileFactory | copy()
Implements abstract tools. Method similar to |
| public NonBlockingByteArrayParser | createNonBlockingByteArrayParser(ObjectReadContext readCtxt)
Overrides tools. Optional method for constructing parser for non-blocking parsing
via |
| public String | getFormatName()
Implements abstract tools. Method that returns short textual id identifying format this factory supports. |
| public Class | getFormatReadFeatureType()
Overrides tools. Method for accessing kind of |
| public Class | getFormatWriteFeatureType()
Overrides tools. Method for accessing kind of |
| public final boolean | |
| public final boolean | |
| protected Object | readResolve()
Method that we need to override to actually make restoration go through constructors etc. |
| public SmileFactoryBuilder | rebuild()
Implements abstract tools. Method that can be used to create differently configured stream factories: it will create and return a Builder instance with exact settings of this stream factory. |
| public TokenStreamFactory | snapshot()
Implements abstract tools. Implements tools. Instances are immutable so just return `this` |
| public Version | version()
Implements abstract tools. Implements tools. Method called to detect version of the component that implements this interface;
returned version should never be null, but may return specific "not available"
instance (see |
| _byteSymbolCanonicalizer | back to summary |
|---|---|
| protected final transient ByteQuadsCanonicalizer _byteSymbolCanonicalizer Alternative to the basic symbol table, some stream-based parsers use different name canonicalization method. | |
| DEFAULT_SMILE_GENERATOR_FEATURE_FLAGS | back to summary |
|---|---|
| pack-priv static final int DEFAULT_SMILE_GENERATOR_FEATURE_FLAGS Bitfield (set of flags) of all generator features that are enabled by default. | |
| DEFAULT_SMILE_PARSER_FEATURE_FLAGS | back to summary |
|---|---|
| pack-priv static final int DEFAULT_SMILE_PARSER_FEATURE_FLAGS Bitfield (set of flags) of all parser features that are enabled by default. | |
| FORMAT_NAME_SMILE | back to summary |
|---|---|
| public static final String FORMAT_NAME_SMILE Name used to identify Smile format.
(and returned by | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides tools. | |
| SmileFactory | back to summary |
|---|---|
| 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 | back to summary |
|---|---|
| public SmileFactory(SmileFactory src) | |
| SmileFactory | back to summary |
|---|---|
| protected SmileFactory(SmileFactoryBuilder b) Constructors used by
| |
| _createGenerator | back to summary |
|---|---|
| protected JsonGenerator _createGenerator(ObjectWriteContext writeCtxt, IOContext ioCtxt, OutputStream out) Implements abstract tools. Doc from tools. Overridable factory method that actually instantiates generator for
given This method is specifically designed to remain compatible between minor versions so that sub-classes can count on it being called as expected. That is, it is part of official interface from sub-class perspective, although not a public method available to users of factory implementations.
| |
| _createParser | back to summary |
|---|---|
| protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in) Implements abstract tools. Overridable factory method that actually instantiates desired parser.
| |
| _createParser | back to summary |
|---|---|
| protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len) Implements abstract tools.
| |
| _createParser | back to summary |
|---|---|
| protected JsonParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, DataInput input) Implements abstract tools.
| |
| builder | back to summary |
|---|---|
| public static SmileFactoryBuilder builder() Main factory method to use for constructing | |
| canParseAsync | back to summary |
|---|---|
| public boolean canParseAsync() Implements abstract tools. Doc from tools. Introspection method that can be used to check whether this
factory can create non-blocking parsers: parsers that do not
use blocking I/O abstractions but instead use a
| |
| canUseSchema | back to summary |
|---|---|
| public boolean canUseSchema(FormatSchema schema) Implements abstract tools. Doc from tools. Method that can be used to quickly check whether given schema is something that parsers and/or generators constructed by this factory could use. Note that this means possible use, at the level of data format (i.e. schema is for same data format as parsers and generators this factory constructs); individual schema instances may have further usage restrictions.
| |
| constructCINameMatcher | back to summary |
|---|---|
| public PropertyNameMatcher constructCINameMatcher(List<Named> matches, boolean alreadyInterned, Locale locale) Overrides tools. Doc from tools. Factory method for constructing case-insensitive
| |
| constructNameMatcher | back to summary |
|---|---|
| public PropertyNameMatcher constructNameMatcher(List<Named> matches, boolean alreadyInterned) Overrides tools. Doc from tools. Factory method for constructing case-sensitive
| |
| copy | back to summary |
|---|---|
| public SmileFactory copy() Implements abstract tools. Doc from tools. Method similar to Implementation should be functionally equivalent to:
factoryInstance.rebuild().build();
| |
| createNonBlockingByteArrayParser | back to summary |
|---|---|
| public NonBlockingByteArrayParser createNonBlockingByteArrayParser(ObjectReadContext readCtxt) Overrides tools. Doc from tools. Optional method for constructing parser for non-blocking parsing
via
If this factory does not support non-blocking parsing (either at all,
or from byte array),
will throw Note that JSON-backed factory only supports parsing of UTF-8 encoded JSON content (and US-ASCII since it is proper subset); other encodings are not supported at this point.
| |
| getFormatName | back to summary |
|---|---|
| public String getFormatName() Implements abstract tools. Doc from tools. Method that returns short textual id identifying format this factory supports.
| |
| getFormatReadFeatureType | back to summary |
|---|---|
| public Class Overrides tools. Doc from tools. Method for accessing kind of
| |
| getFormatWriteFeatureType | back to summary |
|---|---|
| public Class Overrides tools. Doc from tools. Method for accessing kind of
| |
| isEnabled | back to summary |
|---|---|
| public final boolean isEnabled(SmileReadFeature f) Checked whether specified parser feature is enabled. | |
| isEnabled | back to summary |
|---|---|
| public final boolean isEnabled(SmileWriteFeature f) Check whether specified generator feature is enabled. | |
| readResolve | back to summary |
|---|---|
| protected Object readResolve() Method that we need to override to actually make restoration go through constructors etc. | |
| rebuild | back to summary |
|---|---|
| public SmileFactoryBuilder rebuild() Implements abstract tools. Doc from tools. Method that can be used to create differently configured stream factories: it will create and return a Builder instance with exact settings of this stream factory.
| |
| snapshot | back to summary |
|---|---|
| public TokenStreamFactory snapshot() Implements abstract tools. Implements tools. Instances are immutable so just return `this`
| |
| version | back to summary |
|---|---|
| public Version version() Implements abstract tools. Implements tools. Doc from tools. Method called to detect version of the component that implements this interface;
returned version should never be null, but may return specific "not available"
instance (see
| |