TokenStreamFactory implementation for encoding/decoding Avro
content, uses native Jackson encoder/decoder.
| Modifier and Type | Field and Description |
|---|---|
| protected RecyclerPool | |
| protected boolean | _useApacheLibDecoder
Flag that is set if Apache Avro lib's decoder is to be used for decoding; `false` to use Jackson native Avro decoder. |
| pack-priv static final int | DEFAULT_AVRO_GENERATOR_FEATURE_FLAGS
Bitfield (set of flags) of all generator features that are enabled by default. |
| pack-priv static final int | DEFAULT_AVRO_PARSER_FEATURE_FLAGS
Bitfield (set of flags) of all parser features that are enabled by default. |
| public static final String | |
| private static final long |
| Access | Constructor and Description |
|---|---|
| public | |
| protected | |
| 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 AvroParser | _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in)
Implements abstract tools. Overridable factory method that actually instantiates desired parser. |
| protected AvroParser | _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 AvroFactoryBuilder | builder()
Main factory method to use for constructing a builder for creating
|
| public static AvroFactoryBuilder | builderWithApacheDecoder()
Main factory method to use for constructing a builder for creating
|
| public static AvroFactoryBuilder | builderWithNativeDecoder()
Main factory method to use for constructing a builder for creating
|
| public boolean | canHandleBinaryNatively()
Overrides tools. Introspection method that higher-level functionality may call to see whether underlying data format can read and write binary data natively; that is, embedded it as-is without using encodings such as Base64. |
| 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 AvroFactory | copy()
Implements abstract tools. Method similar to |
| 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. Also: must be overridden by sub-classes as well. |
| public AvroFactoryBuilder | 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 boolean | requiresPropertyOrdering()
Overrides tools. Introspection method that higher-level functionality may call to see whether underlying data format requires a stable ordering of object properties or not. |
| 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 |
| _avroRecyclerPool | back to summary |
|---|---|
protected RecyclerPool<ApacheCodecRecycler> _avroRecyclerPool
| |
| _useApacheLibDecoder | back to summary |
|---|---|
| protected boolean _useApacheLibDecoder Flag that is set if Apache Avro lib's decoder is to be used for decoding; `false` to use Jackson native Avro decoder. | |
| DEFAULT_AVRO_GENERATOR_FEATURE_FLAGS | back to summary |
|---|---|
| pack-priv static final int DEFAULT_AVRO_GENERATOR_FEATURE_FLAGS Bitfield (set of flags) of all generator features that are enabled by default. | |
| DEFAULT_AVRO_PARSER_FEATURE_FLAGS | back to summary |
|---|---|
| pack-priv static final int DEFAULT_AVRO_PARSER_FEATURE_FLAGS Bitfield (set of flags) of all parser features that are enabled by default. | |
| FORMAT_NAME_AVRO | back to summary |
|---|---|
| public static final String FORMAT_NAME_AVRO | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides tools. | |
| AvroFactory | back to summary |
|---|---|
| public AvroFactory() 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. | |
| AvroFactory | back to summary |
|---|---|
| protected AvroFactory(AvroFactory src) | |
| AvroFactory | back to summary |
|---|---|
| protected AvroFactory(AvroFactoryBuilder b) Constructors used by
| |
| _createGenerator | back to summary |
|---|---|
| protected JsonGenerator _createGenerator(ObjectWriteContext writeCtxt, IOContext ioCtxt, OutputStream out) throws JacksonException 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 AvroParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in) throws JacksonException Implements abstract tools. Overridable factory method that actually instantiates desired parser.
| |
| _createParser | back to summary |
|---|---|
| protected AvroParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, byte[] data, int offset, int len) throws JacksonException 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 AvroFactoryBuilder builder() Main factory method to use for constructing a builder for creating
| |
| builderWithApacheDecoder | back to summary |
|---|---|
| public static AvroFactoryBuilder builderWithApacheDecoder() Main factory method to use for constructing a builder for creating
| |
| builderWithNativeDecoder | back to summary |
|---|---|
| public static AvroFactoryBuilder builderWithNativeDecoder() Main factory method to use for constructing a builder for creating
| |
| canHandleBinaryNatively | back to summary |
|---|---|
| public boolean canHandleBinaryNatively() Overrides tools. Doc from tools. Introspection method that higher-level functionality may call to see whether underlying data format can read and write binary data natively; that is, embedded it as-is without using encodings such as Base64.
| |
| 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.
| |
| copy | back to summary |
|---|---|
| public AvroFactory copy() Implements abstract tools. Doc from tools. Method similar to Implementation should be functionally equivalent to:
factoryInstance.rebuild().build();
| |
| 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(AvroReadFeature f) Checked whether specified parser feature is enabled. | |
| isEnabled | back to summary |
|---|---|
| public final boolean isEnabled(AvroWriteFeature 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. Also: must be overridden by sub-classes as well. | |
| rebuild | back to summary |
|---|---|
| public AvroFactoryBuilder 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.
| |
| requiresPropertyOrdering | back to summary |
|---|---|
| public boolean requiresPropertyOrdering() Overrides tools. Doc from tools. Introspection method that higher-level functionality may call to see whether underlying data format requires a stable ordering of object properties or not. This is usually used for determining whether to force a stable ordering (like alphabetic ordering by name) if no ordering if explicitly specified.
| |
| 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
| |