java.lang.Object
tools.jackson.core.TokenStreamFactory
tools.jackson.core.base.DecorableTSFactory
tools.jackson.core.base.BinaryTSFactory
tools.jackson.dataformat.avro.AvroFactory
All Implemented Interfaces:
Serializable, tools.jackson.core.util.Snapshottable<tools.jackson.core.TokenStreamFactory>, tools.jackson.core.Versioned

public class AvroFactory extends tools.jackson.core.base.BinaryTSFactory implements Serializable
Default TokenStreamFactory implementation for encoding/decoding Avro content, uses native Jackson encoder/decoder.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class tools.jackson.core.base.DecorableTSFactory

    tools.jackson.core.base.DecorableTSFactory.DecorableTSFBuilder<F extends tools.jackson.core.TokenStreamFactory,T extends tools.jackson.core.TSFBuilder<F,T>>

    Nested classes/interfaces inherited from class tools.jackson.core.TokenStreamFactory

    tools.jackson.core.TokenStreamFactory.Feature
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected tools.jackson.core.util.RecyclerPool<ApacheCodecRecycler>
     
    protected boolean
    Flag that is set if Apache Avro lib's decoder is to be used for decoding; `false` to use Jackson native Avro decoder.
    static final String
     

    Fields inherited from class tools.jackson.core.base.DecorableTSFactory

    _generatorDecorators, _inputDecorator, _outputDecorator

    Fields inherited from class tools.jackson.core.TokenStreamFactory

    _errorReportConfiguration, _factoryFeatures, _formatReadFeatures, _formatWriteFeatures, _recyclerPool, _streamReadConstraints, _streamReadFeatures, _streamWriteConstraints, _streamWriteFeatures, DEFAULT_FACTORY_FEATURE_FLAGS, DEFAULT_STREAM_READ_FEATURE_FLAGS, DEFAULT_STREAM_WRITE_FEATURE_FLAGS, EMPTY_WRITE_CONTEXT
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
     
    Default constructor used to create factory instances.
    protected
     
    protected
    Constructors used by AvroFactoryBuilder for instantiation.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected tools.jackson.core.JsonGenerator
    _createGenerator(tools.jackson.core.ObjectWriteContext writeCtxt, tools.jackson.core.io.IOContext ioCtxt, OutputStream out)
     
    protected AvroParser
    _createParser(tools.jackson.core.ObjectReadContext readCtxt, tools.jackson.core.io.IOContext ioCtxt, byte[] data, int offset, int len)
     
    protected tools.jackson.core.JsonParser
    _createParser(tools.jackson.core.ObjectReadContext readCtxt, tools.jackson.core.io.IOContext ioCtxt, DataInput input)
     
    protected AvroParser
    _createParser(tools.jackson.core.ObjectReadContext readCtxt, tools.jackson.core.io.IOContext ioCtxt, InputStream in)
    Overridable factory method that actually instantiates desired parser.
    Main factory method to use for constructing a builder for creating AvroFactory instances with different configuration.
    Main factory method to use for constructing a builder for creating AvroFactory instances with different configuration, initialized to use Apache Avro library codec for decoding content (instead of Jackson native decoder).
    Main factory method to use for constructing a builder for creating AvroFactory instances with different configuration, initialized to use Jackson antive codec for decoding content (instead of Apache Avro library decoder).
    boolean
     
    boolean
     
    boolean
    canUseSchema(tools.jackson.core.FormatSchema schema)
     
     
     
     
     
    final boolean
    Checked whether specified parser feature is enabled.
    final boolean
    Check whether specified generator feature is enabled.
    protected Object
    Method that we need to override to actually make restoration go through constructors etc.
     
    boolean
     
    tools.jackson.core.TokenStreamFactory
    Instances are immutable so just return `this`
    tools.jackson.core.Version
     

    Methods inherited from class tools.jackson.core.base.BinaryTSFactory

    _createContentReference, _createContentReference, _nonByteSource, _nonByteTarget, createGenerator, createGenerator, createGenerator, createGenerator, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser

    Methods inherited from class tools.jackson.core.base.DecorableTSFactory

    _copy, _decorate, _decorate, _decorate, _decorate, _decorate, _decorate, getGeneratorDecorators, getInputDecorator, getOutputDecorator

    Methods inherited from class tools.jackson.core.TokenStreamFactory

    _checkRangeBoundsForByteArray, _checkRangeBoundsForCharArray, _createContext, _createContext, _createDataOutputWrapper, _fileInputStream, _fileOutputStream, _getBufferRecycler, _getRecyclerPool, _optimizedStreamFromURL, _pathInputStream, _pathOutputStream, _reportRangeError, _unsupported, _unsupported, _wrapIOFailure, constructCINameMatcher, constructNameMatcher, createGenerator, createGenerator, createGenerator, createGenerator, createGenerator, createNonBlockingByteArrayParser, createNonBlockingByteBufferParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, createParser, errorReportConfiguration, getFactoryFeatures, getFormatReadFeatures, getFormatWriteFeatures, getStreamReadFeatures, getStreamWriteFeatures, isEnabled, isEnabled, isEnabled, streamReadConstraints, streamWriteConstraints

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • FORMAT_NAME_AVRO

      public static final String FORMAT_NAME_AVRO
      See Also:
    • _avroRecyclerPool

      protected tools.jackson.core.util.RecyclerPool<ApacheCodecRecycler> _avroRecyclerPool
      Since:
      2.16
    • _useApacheLibDecoder

      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.
  • Constructor Details

    • AvroFactory

      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

      protected AvroFactory(AvroFactory src)
    • AvroFactory

      protected AvroFactory(AvroFactoryBuilder b)
      Constructors used by AvroFactoryBuilder for instantiation.
      Since:
      3.0
  • Method Details

    • rebuild

      public AvroFactoryBuilder rebuild()
      Specified by:
      rebuild in class tools.jackson.core.TokenStreamFactory
    • builder

      public static AvroFactoryBuilder builder()
      Main factory method to use for constructing a builder for creating AvroFactory instances with different configuration. Builder is initialized to defaults and this is equivalent to calling builderWithNativeDecoder().
    • builderWithApacheDecoder

      public static AvroFactoryBuilder builderWithApacheDecoder()
      Main factory method to use for constructing a builder for creating AvroFactory instances with different configuration, initialized to use Apache Avro library codec for decoding content (instead of Jackson native decoder).
    • builderWithNativeDecoder

      public static AvroFactoryBuilder builderWithNativeDecoder()
      Main factory method to use for constructing a builder for creating AvroFactory instances with different configuration, initialized to use Jackson antive codec for decoding content (instead of Apache Avro library decoder).
    • copy

      public AvroFactory copy()
      Specified by:
      copy in class tools.jackson.core.TokenStreamFactory
    • snapshot

      public tools.jackson.core.TokenStreamFactory snapshot()
      Instances are immutable so just return `this`
      Specified by:
      snapshot in interface tools.jackson.core.util.Snapshottable<tools.jackson.core.TokenStreamFactory>
      Specified by:
      snapshot in class tools.jackson.core.TokenStreamFactory
    • canHandleBinaryNatively

      public boolean canHandleBinaryNatively()
      Overrides:
      canHandleBinaryNatively in class tools.jackson.core.base.BinaryTSFactory
    • readResolve

      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.
    • version

      public tools.jackson.core.Version version()
      Specified by:
      version in interface tools.jackson.core.Versioned
      Specified by:
      version in class tools.jackson.core.TokenStreamFactory
    • requiresPropertyOrdering

      public boolean requiresPropertyOrdering()
      Overrides:
      requiresPropertyOrdering in class tools.jackson.core.TokenStreamFactory
    • canParseAsync

      public boolean canParseAsync()
      Specified by:
      canParseAsync in class tools.jackson.core.TokenStreamFactory
    • isEnabled

      public final boolean isEnabled(AvroReadFeature f)
      Checked whether specified parser feature is enabled.
    • isEnabled

      public final boolean isEnabled(AvroWriteFeature f)
      Check whether specified generator feature is enabled.
    • getFormatName

      public String getFormatName()
      Specified by:
      getFormatName in class tools.jackson.core.TokenStreamFactory
    • canUseSchema

      public boolean canUseSchema(tools.jackson.core.FormatSchema schema)
      Specified by:
      canUseSchema in class tools.jackson.core.TokenStreamFactory
    • getFormatReadFeatureType

      public Class<AvroReadFeature> getFormatReadFeatureType()
      Overrides:
      getFormatReadFeatureType in class tools.jackson.core.TokenStreamFactory
    • getFormatWriteFeatureType

      public Class<AvroWriteFeature> getFormatWriteFeatureType()
      Overrides:
      getFormatWriteFeatureType in class tools.jackson.core.TokenStreamFactory
    • _createParser

      protected AvroParser _createParser(tools.jackson.core.ObjectReadContext readCtxt, tools.jackson.core.io.IOContext ioCtxt, InputStream in) throws tools.jackson.core.JacksonException
      Overridable factory method that actually instantiates desired parser.
      Specified by:
      _createParser in class tools.jackson.core.base.BinaryTSFactory
      Throws:
      tools.jackson.core.JacksonException
    • _createParser

      protected AvroParser _createParser(tools.jackson.core.ObjectReadContext readCtxt, tools.jackson.core.io.IOContext ioCtxt, byte[] data, int offset, int len) throws tools.jackson.core.JacksonException
      Specified by:
      _createParser in class tools.jackson.core.base.BinaryTSFactory
      Throws:
      tools.jackson.core.JacksonException
    • _createParser

      protected tools.jackson.core.JsonParser _createParser(tools.jackson.core.ObjectReadContext readCtxt, tools.jackson.core.io.IOContext ioCtxt, DataInput input)
      Specified by:
      _createParser in class tools.jackson.core.base.BinaryTSFactory
    • _createGenerator

      protected tools.jackson.core.JsonGenerator _createGenerator(tools.jackson.core.ObjectWriteContext writeCtxt, tools.jackson.core.io.IOContext ioCtxt, OutputStream out) throws tools.jackson.core.JacksonException
      Specified by:
      _createGenerator in class tools.jackson.core.base.BinaryTSFactory
      Throws:
      tools.jackson.core.JacksonException