Class GenericArraySerializerSnapshot<C>
- java.lang.Object
-
- org.apache.flink.api.common.typeutils.CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
-
- org.apache.flink.api.common.typeutils.base.GenericArraySerializerSnapshot<C>
-
- Type Parameters:
C- The component type.
- All Implemented Interfaces:
TypeSerializerSnapshot<C[]>
public final class GenericArraySerializerSnapshot<C> extends CompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>
Point-in-time configuration of aGenericArraySerializer.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.flink.api.common.typeutils.CompositeTypeSerializerSnapshot
CompositeTypeSerializerSnapshot.OuterSchemaCompatibility
-
-
Constructor Summary
Constructors Constructor Description GenericArraySerializerSnapshot()Constructor to be used for read instantiation.GenericArraySerializerSnapshot(GenericArraySerializer<C> genericArraySerializer)Constructor to be used for writing the snapshot.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected GenericArraySerializer<C>createOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers)Creates an instance of the outer serializer with a given array of its nested serializers.protected intgetCurrentOuterSnapshotVersion()Returns the version of the current outer snapshot's written binary format.protected TypeSerializer<?>[]getNestedSerializers(GenericArraySerializer<C> outerSerializer)Gets the nested serializers from the outer serializer.protected voidreadOuterSnapshot(int readOuterSnapshotVersion, DataInputView in, ClassLoader userCodeClassLoader)Reads the outer snapshot, i.e.protected CompositeTypeSerializerSnapshot.OuterSchemaCompatibilityresolveOuterSchemaCompatibility(GenericArraySerializer<C> newSerializer)Checks the schema compatibility of the given new serializer based on the outer snapshot.protected voidwriteOuterSnapshot(DataOutputView out)Writes the outer snapshot, i.e.-
Methods inherited from class org.apache.flink.api.common.typeutils.CompositeTypeSerializerSnapshot
getCurrentVersion, getNestedSerializerSnapshots, isOuterSnapshotCompatible, readSnapshot, resolveSchemaCompatibility, restoreSerializer, writeSnapshot
-
-
-
-
Constructor Detail
-
GenericArraySerializerSnapshot
public GenericArraySerializerSnapshot()
Constructor to be used for read instantiation.
-
GenericArraySerializerSnapshot
public GenericArraySerializerSnapshot(GenericArraySerializer<C> genericArraySerializer)
Constructor to be used for writing the snapshot.
-
-
Method Detail
-
getCurrentOuterSnapshotVersion
protected int getCurrentOuterSnapshotVersion()
Description copied from class:CompositeTypeSerializerSnapshotReturns the version of the current outer snapshot's written binary format.- Specified by:
getCurrentOuterSnapshotVersionin classCompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>- Returns:
- the version of the current outer snapshot's written binary format.
-
writeOuterSnapshot
protected void writeOuterSnapshot(DataOutputView out) throws IOException
Description copied from class:CompositeTypeSerializerSnapshotWrites the outer snapshot, i.e. any information beyond the nested serializers of the outer serializer.The base implementation of this methods writes nothing, i.e. it assumes that the outer serializer only has nested serializers and no extra information. Otherwise, if the outer serializer contains some extra information that needs to be persisted as part of the serializer snapshot, this must be overridden. Note that this method and the corresponding methods
CompositeTypeSerializerSnapshot.readOuterSnapshot(int, DataInputView, ClassLoader),CompositeTypeSerializerSnapshot.resolveOuterSchemaCompatibility(TypeSerializer)needs to be implemented.- Overrides:
writeOuterSnapshotin classCompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>- Parameters:
out- theDataOutputViewto write the outer snapshot to.- Throws:
IOException
-
readOuterSnapshot
protected void readOuterSnapshot(int readOuterSnapshotVersion, DataInputView in, ClassLoader userCodeClassLoader) throws IOExceptionDescription copied from class:CompositeTypeSerializerSnapshotReads the outer snapshot, i.e. any information beyond the nested serializers of the outer serializer.The base implementation of this methods reads nothing, i.e. it assumes that the outer serializer only has nested serializers and no extra information. Otherwise, if the outer serializer contains some extra information that has been persisted as part of the serializer snapshot, this must be overridden. Note that this method and the corresponding methods
CompositeTypeSerializerSnapshot.writeOuterSnapshot(DataOutputView),CompositeTypeSerializerSnapshot.resolveOuterSchemaCompatibility(TypeSerializer)needs to be implemented.- Overrides:
readOuterSnapshotin classCompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>- Parameters:
readOuterSnapshotVersion- the read version of the outer snapshot.in- theDataInputViewto read the outer snapshot from.userCodeClassLoader- the user code class loader.- Throws:
IOException
-
resolveOuterSchemaCompatibility
protected CompositeTypeSerializerSnapshot.OuterSchemaCompatibility resolveOuterSchemaCompatibility(GenericArraySerializer<C> newSerializer)
Description copied from class:CompositeTypeSerializerSnapshotChecks the schema compatibility of the given new serializer based on the outer snapshot.The base implementation of this method assumes that the outer serializer only has nested serializers and no extra information, and therefore the result of the check is
CompositeTypeSerializerSnapshot.OuterSchemaCompatibility.COMPATIBLE_AS_IS. Otherwise, if the outer serializer contains some extra information that has been persisted as part of the serializer snapshot, this must be overridden. Note that this method and the corresponding methodsCompositeTypeSerializerSnapshot.writeOuterSnapshot(DataOutputView),CompositeTypeSerializerSnapshot.readOuterSnapshot(int, DataInputView, ClassLoader)needs to be implemented.- Overrides:
resolveOuterSchemaCompatibilityin classCompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>- Parameters:
newSerializer- the new serializer, which contains the new outer information to check against.- Returns:
- a
CompositeTypeSerializerSnapshot.OuterSchemaCompatibilityindicating whether or the new serializer's outer information is compatible, requires migration, or incompatible with the one written in this snapshot.
-
createOuterSerializerWithNestedSerializers
protected GenericArraySerializer<C> createOuterSerializerWithNestedSerializers(TypeSerializer<?>[] nestedSerializers)
Description copied from class:CompositeTypeSerializerSnapshotCreates an instance of the outer serializer with a given array of its nested serializers.- Specified by:
createOuterSerializerWithNestedSerializersin classCompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>- Parameters:
nestedSerializers- array of nested serializers to create the outer serializer with.- Returns:
- an instance of the outer serializer.
-
getNestedSerializers
protected TypeSerializer<?>[] getNestedSerializers(GenericArraySerializer<C> outerSerializer)
Description copied from class:CompositeTypeSerializerSnapshotGets the nested serializers from the outer serializer.- Specified by:
getNestedSerializersin classCompositeTypeSerializerSnapshot<C[],GenericArraySerializer<C>>- Parameters:
outerSerializer- the outer serializer.- Returns:
- the nested serializers.
-
-