Top Inners Fields Constructors Methods
org.apache.avro.io

public Class FastReaderBuilder

extends Object
Class Inheritance
Imports
java.io.ByteArrayOutputStream, .IOException, java.nio.ByteBuffer, java.nio.charset.StandardCharsets, java.util.Collections, .HashMap, .List, .Map, .Optional, java.util.function.Function, .IntFunction, org.apache.avro.AvroTypeException, .Conversion, .Conversions, .Resolver, .Resolver.Action, .Resolver.Container, .Resolver.EnumAdjust, .Resolver.Promote, .Resolver.ReaderUnion, .Resolver.RecordAdjust, .Resolver.Skip, .Resolver.WriterUnion, .Schema, .Schema.Field, org.apache.avro.generic.GenericArray, .GenericData, .GenericData.InstanceSupplier, .GenericDatumReader, .GenericEnumSymbol, .GenericFixed, .IndexedRecord, org.apache.avro.io.FastReaderBuilder.RecordReader.Stage, org.apache.avro.io.parsing.ResolvingGrammarGenerator, org.apache.avro.reflect.ReflectionUtil, org.apache.avro.specific.SpecificData, .SpecificRecordBase, org.apache.avro.util.Utf8, .WeakIdentityHashMap, org.apache.avro.util.internal.Accessor

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface
public static interface
public static class
public static class
public static interface

Field Summary

Modifier and TypeField and Description
private boolean
private final GenericData
data

Generic/SpecificData instance that contains basic functionalities like instantiation of objects

private boolean
private final Map<Schema, Map<Schema, FastReaderBuilder.RecordReader>>
readerCache

first schema is reader schema, second is writer schema

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private FastReaderBuilder.FieldReader
applyConversions(Schema readerSchema, FastReaderBuilder.FieldReader reader, Conversion<?> explicitConversion)

private FastReaderBuilder.FieldReader
private FastReaderBuilder.FieldReader
private FastReaderBuilder.FieldReader
public <D> DatumReader<D>
public <D> DatumReader<D>
createDatumReader(Schema writerSchema, Schema readerSchema)

private FastReaderBuilder.FieldReader
private FastReaderBuilder.ExecutionStep
private FastReaderBuilder.FieldReader
createFixedReader(Schema readerSchema, Schema writerSchema)

private FastReaderBuilder.FieldReader
createMapKeyReader(Schema readerSchema)

private FastReaderBuilder.FieldReader
createMapReader(Schema readerSchema, Resolver.Container action)

private FastReaderBuilder.FieldReader
private FastReaderBuilder.RecordReader
private FastReaderBuilder.FieldReader
private FastReaderBuilder.FieldReader
createStringReader(Schema readerSchema, Schema writerSchema)

private FastReaderBuilder.FieldReader
private FastReaderBuilder.FieldReader
private Optional<Class<?>>
public static FastReaderBuilder
get()

private IntFunction<Conversion<?>>
private FastReaderBuilder.ExecutionStep
private byte[]
private FastReaderBuilder.FieldReader
private FastReaderBuilder.FieldReader
getReaderFor(Schema readerSchema, Schema writerSchema)

private FastReaderBuilder.FieldReader
getReaderFor(Resolver.Action action, Conversion<?> explicitConversion)

private FastReaderBuilder.FieldReader
getReaderForBaseType(Schema readerSchema, Schema writerSchema)

private FastReaderBuilder.RecordReader
getRecordReaderFromCache(Schema readerSchema, Schema writerSchema)

public static FastReaderBuilder
private String
private FastReaderBuilder.FieldReader
private Utf8
private FastReaderBuilder.RecordReader
public boolean
public boolean
private boolean
public static boolean
private Utf8
readUtf8(Object reuse, Utf8 newValue)

public static FastReaderBuilder.FieldReader
public FastReaderBuilder
withClassPropEnabled(boolean enabled)

public FastReaderBuilder
withKeyClassEnabled(boolean enabled)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

classPropEnabledback to summary
private boolean classPropEnabled
databack to summary
private final GenericData data

Generic/SpecificData instance that contains basic functionalities like instantiation of objects

keyClassEnabledback to summary
private boolean keyClassEnabled
readerCacheback to summary
private final Map<Schema, Map<Schema, FastReaderBuilder.RecordReader>> readerCache

first schema is reader schema, second is writer schema

Constructor Detail

FastReaderBuilderback to summary
public FastReaderBuilder(GenericData parentData)

Method Detail

applyConversionsback to summary
private FastReaderBuilder.FieldReader applyConversions(Schema readerSchema, FastReaderBuilder.FieldReader reader, Conversion<?> explicitConversion)
createArrayReaderback to summary
private FastReaderBuilder.FieldReader createArrayReader(Schema readerSchema, Resolver.Container action) throws IOException
Annotations
@SuppressWarnings:unchecked
createBytesPromotingToStringReaderback to summary
private FastReaderBuilder.FieldReader createBytesPromotingToStringReader(Schema readerSchema)
createBytesReaderback to summary
private FastReaderBuilder.FieldReader createBytesReader()
createDatumReaderback to summary
public <D> DatumReader<D> createDatumReader(Schema schema) throws IOException
createDatumReaderback to summary
public <D> DatumReader<D> createDatumReader(Schema writerSchema, Schema readerSchema) throws IOException
Annotations
@SuppressWarnings:unchecked
createEnumReaderback to summary
private FastReaderBuilder.FieldReader createEnumReader(Resolver.EnumAdjust action)
createFieldSetterback to summary
private FastReaderBuilder.ExecutionStep createFieldSetter(Schema.Field field, FastReaderBuilder.FieldReader reader)
createFixedReaderback to summary
private FastReaderBuilder.FieldReader createFixedReader(Schema readerSchema, Schema writerSchema)
createMapKeyReaderback to summary
private FastReaderBuilder.FieldReader createMapKeyReader(Schema readerSchema)
createMapReaderback to summary
private FastReaderBuilder.FieldReader createMapReader(Schema readerSchema, Resolver.Container action) throws IOException
createPromotingReaderback to summary
private FastReaderBuilder.FieldReader createPromotingReader(Resolver.Promote promote) throws IOException
createRecordReaderback to summary
private FastReaderBuilder.RecordReader createRecordReader(Resolver.RecordAdjust action) throws IOException
createSimpleStringReaderback to summary
private FastReaderBuilder.FieldReader createSimpleStringReader(Schema readerSchema)
createStringReaderback to summary
private FastReaderBuilder.FieldReader createStringReader(Schema readerSchema, Schema writerSchema)
createUnionReaderback to summary
private FastReaderBuilder.FieldReader createUnionReader(Resolver.WriterUnion action) throws IOException
createUnionReaderback to summary
private FastReaderBuilder.FieldReader createUnionReader(FastReaderBuilder.FieldReader[] unionReaders)
findClassback to summary
private Optional<Class<?>> findClass(String clazz)
getback to summary
public static FastReaderBuilder get()
getConversionSupplierback to summary
private IntFunction<Conversion<?>> getConversionSupplier(Object record)
getDefaultingStepback to summary
private FastReaderBuilder.ExecutionStep getDefaultingStep(Schema.Field field) throws IOException
getEncodedValueback to summary
private byte[] getEncodedValue(Schema.Field field) throws IOException
getNonConvertedReaderback to summary
private FastReaderBuilder.FieldReader getNonConvertedReader(Resolver.Action action) throws IOException
getReaderForback to summary
private FastReaderBuilder.FieldReader getReaderFor(Schema readerSchema, Schema writerSchema) throws IOException
getReaderForback to summary
private FastReaderBuilder.FieldReader getReaderFor(Resolver.Action action, Conversion<?> explicitConversion) throws IOException
getReaderForBaseTypeback to summary
private FastReaderBuilder.FieldReader getReaderForBaseType(Schema readerSchema, Schema writerSchema) throws IOException
getRecordReaderFromCacheback to summary
private FastReaderBuilder.RecordReader getRecordReaderFromCache(Schema readerSchema, Schema writerSchema)
getSpecificback to summary
public static FastReaderBuilder getSpecific()
getStringFromByteBufferback to summary
private String getStringFromByteBuffer(ByteBuffer buffer)
getTransformingStringReaderback to summary
private FastReaderBuilder.FieldReader getTransformingStringReader(String valueClass, FastReaderBuilder.FieldReader stringReader)
getUtf8FromByteBufferback to summary
private Utf8 getUtf8FromByteBuffer(Object old, ByteBuffer buffer)
initializeRecordReaderback to summary
private FastReaderBuilder.RecordReader initializeRecordReader(FastReaderBuilder.RecordReader recordReader, Resolver.RecordAdjust action) throws IOException
isClassPropEnabledback to summary
public boolean isClassPropEnabled()
isKeyClassEnabledback to summary
public boolean isKeyClassEnabled()
isObjectImmutableback to summary
private boolean isObjectImmutable(Object object)
isSupportedDataback to summary
public static boolean isSupportedData(GenericData data)
readUtf8back to summary
private Utf8 readUtf8(Object reuse, Utf8 newValue)
reusingReaderback to summary
public static FastReaderBuilder.FieldReader reusingReader(FastReaderBuilder.ReusingFieldReader reader)
withClassPropEnabledback to summary
public FastReaderBuilder withClassPropEnabled(boolean enabled)
withKeyClassEnabledback to summary
public FastReaderBuilder withKeyClassEnabled(boolean enabled)
org.apache.avro.io back to summary

public Interface FastReaderBuilder.ExecutionStep


Method Summary

Modifier and TypeMethod and Description
public void
execute(Object record, Decoder decoder)

Method Detail

executeback to summary
public void execute(Object record, Decoder decoder) throws IOException
org.apache.avro.io back to summary

public Interface FastReaderBuilder.FieldReader

extends DatumReader<Object>
Known Direct Subinterfaces
org.apache.avro.io.FastReaderBuilder.ReusingFieldReader
Known Direct Implementers
org.apache.avro.io.FastReaderBuilder.RecordReader, org.apache.avro.io.FastReaderBuilder.MapReader

Method Summary

Modifier and TypeMethod and Description
public default boolean
public Object
read(Object reuse, Decoder decoder)

Redeclares org.apache.avro.io.DatumReader.read.

Read a datum.
public default void
setSchema(Schema schema)

Implements org.apache.avro.io.DatumReader.setSchema.

Set the writer's schema.

Method Detail

canReuseback to summary
public default boolean canReuse()
readback to summary
public Object read(Object reuse, Decoder decoder) throws IOException

Redeclares org.apache.avro.io.DatumReader.read.

Doc from org.apache.avro.io.DatumReader.read.

Read a datum. Traverse the schema, depth-first, reading all leaf values in the schema into a datum that is returned. If the provided datum is non-null it may be reused and returned.

Annotations
@Override
setSchemaback to summary
public default void setSchema(Schema schema)

Implements org.apache.avro.io.DatumReader.setSchema.

Doc from org.apache.avro.io.DatumReader.setSchema.

Set the writer's schema.

Annotations
@Override
org.apache.avro.io back to summary

public Class FastReaderBuilder.MapReader

extends Object
implements FieldReader
Class Inheritance
All Implemented Interfaces
org.apache.avro.io.FastReaderBuilder.FieldReader, org.apache.avro.io.DatumReader

Field Summary

Modifier and TypeField and Description
private final FastReaderBuilder.FieldReader
private final FastReaderBuilder.FieldReader

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

keyReaderback to summary
private final FastReaderBuilder.FieldReader keyReader
valueReaderback to summary
private final FastReaderBuilder.FieldReader valueReader

Constructor Detail

MapReaderback to summary
public MapReader(FastReaderBuilder.FieldReader keyReader, FastReaderBuilder.FieldReader valueReader)

Method Detail

readback to summary
public Object read(Object reuse, Decoder decoder) throws IOException

Implements org.apache.avro.io.FastReaderBuilder.FieldReader.read.

Doc from org.apache.avro.io.DatumReader.read.

Read a datum. Traverse the schema, depth-first, reading all leaf values in the schema into a datum that is returned. If the provided datum is non-null it may be reused and returned.

Annotations
@Override
org.apache.avro.io back to summary

public Class FastReaderBuilder.RecordReader

extends Object
implements FieldReader
Class Inheritance
All Implemented Interfaces
org.apache.avro.io.FastReaderBuilder.FieldReader, org.apache.avro.io.DatumReader

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum

Field Summary

Modifier and TypeField and Description
private FastReaderBuilder.ExecutionStep[]
private Schema
private FastReaderBuilder.RecordReader.Stage
private GenericData.InstanceSupplier

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
public void
public FastReaderBuilder.RecordReader.Stage
public Object
public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

readStepsback to summary
private FastReaderBuilder.ExecutionStep[] readSteps
schemaback to summary
private Schema schema
stageback to summary
private FastReaderBuilder.RecordReader.Stage stage
supplierback to summary
private GenericData.InstanceSupplier supplier

Constructor Detail

RecordReaderback to summary
public RecordReader()

Method Detail

canReuseback to summary
public boolean canReuse()

Overrides default org.apache.avro.io.FastReaderBuilder.FieldReader.canReuse.

Annotations
@Override
finishInitializationback to summary
public void finishInitialization(FastReaderBuilder.ExecutionStep[] readSteps, Schema schema, GenericData.InstanceSupplier supp)
getInitializationStageback to summary
public FastReaderBuilder.RecordReader.Stage getInitializationStage()
readback to summary
public Object read(Object reuse, Decoder decoder) throws IOException

Implements org.apache.avro.io.FastReaderBuilder.FieldReader.read.

Doc from org.apache.avro.io.DatumReader.read.

Read a datum. Traverse the schema, depth-first, reading all leaf values in the schema into a datum that is returned. If the provided datum is non-null it may be reused and returned.

Annotations
@Override
resetback to summary
public void reset()
startInitializationback to summary
public void startInitialization()
org.apache.avro.io back to summary

public final Enum FastReaderBuilder.RecordReader.Stage

extends Enum<FastReaderBuilder.RecordReader.Stage>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final FastReaderBuilder.RecordReader.Stage
public static final FastReaderBuilder.RecordReader.Stage
public static final FastReaderBuilder.RecordReader.Stage

Constructor Summary

AccessConstructor and Description
private

Field Detail

INITIALIZEDback to summary
public static final FastReaderBuilder.RecordReader.Stage INITIALIZED
INITIALIZINGback to summary
public static final FastReaderBuilder.RecordReader.Stage INITIALIZING
NEWback to summary
public static final FastReaderBuilder.RecordReader.Stage NEW

Constructor Detail

Stageback to summary
private Stage()

Method Detail

valueOfback to summary
public static FastReaderBuilder.RecordReader.Stage valueOf(String name)
valuesback to summary
public static FastReaderBuilder.RecordReader.Stage[] values()
org.apache.avro.io back to summary

public Interface FastReaderBuilder.ReusingFieldReader

extends FieldReader

Method Summary

Modifier and TypeMethod and Description
public default boolean
Inherited from org.apache.avro.io.FastReaderBuilder.FieldReader:
readsetSchema

Method Detail

canReuseback to summary
public default boolean canReuse()

Overrides default org.apache.avro.io.FastReaderBuilder.FieldReader.canReuse.

Annotations
@Override