@Internal public abstract class TypeSerializerSingleton<T> extends TypeSerializer<T>
Constructor and Description |
---|
TypeSerializerSingleton() |
Modifier and Type | Method and Description |
---|---|
TypeSerializerSingleton<T> |
duplicate()
Creates a deep copy of this serializer if it is necessary, i.e.
|
CompatibilityResult<T> |
ensureCompatibility(TypeSerializerConfigSnapshot configSnapshot)
Ensure compatibility of this serializer with a preceding serializer that was registered for serialization of
the same managed state (if any - this method is only relevant if this serializer is registered for
serialization of managed state).
|
boolean |
equals(Object obj) |
int |
hashCode() |
protected boolean |
isCompatibleSerializationFormatIdentifier(String identifier)
Subclasses can override this if they know that they are also compatible with identifiers of other formats.
|
TypeSerializerConfigSnapshot |
snapshotConfiguration()
Create a snapshot of the serializer's current configuration to be stored along with the managed state it is
registered to (if any - this method is only relevant if this serializer is registered for serialization of
managed state).
|
canEqual, copy, copy, copy, createInstance, deserialize, deserialize, getLength, isImmutableType, serialize
public TypeSerializerSingleton<T> duplicate()
TypeSerializer
duplicate
in class TypeSerializer<T>
public int hashCode()
hashCode
in class TypeSerializer<T>
public boolean equals(Object obj)
equals
in class TypeSerializer<T>
public TypeSerializerConfigSnapshot snapshotConfiguration()
TypeSerializer
The configuration snapshot should contain information about the serializer's parameter settings and its serialization format. When a new serializer is registered to serialize the same managed state that this serializer was registered to, the returned configuration snapshot can be used to ensure compatibility of the new serializer and determine if state migration is required.
snapshotConfiguration
in class TypeSerializer<T>
null
).TypeSerializerConfigSnapshot
public CompatibilityResult<T> ensureCompatibility(TypeSerializerConfigSnapshot configSnapshot)
TypeSerializer
The result can be one of the following:
CompatibilityResult.compatible()
: this signals Flink that this serializer is compatible, or
has been reconfigured to be compatible, to continue reading previous data, and that the
serialization schema remains the same. No migration needs to be performed.CompatibilityResult.requiresMigration(TypeDeserializer)
: this signals Flink that
migration needs to be performed, because this serializer is not compatible, or cannot be reconfigured to be
compatible, for previous data. Furthermore, in the case that the preceding serializer cannot be found or
restored to read the previous data to perform the migration, the provided convert deserializer can be
used as a fallback resort.CompatibilityResult.requiresMigration()
: this signals Flink that migration needs to be
performed, because this serializer is not compatible, or cannot be reconfigured to be compatible, for
previous data. If the preceding serializer cannot be found (either its implementation changed or it was
removed from the classpath) then the migration will fail due to incapability to read previous data.ensureCompatibility
in class TypeSerializer<T>
configSnapshot
- configuration snapshot of a preceding serializer for the same managed statenull
).CompatibilityResult
protected boolean isCompatibleSerializationFormatIdentifier(String identifier)
Copyright © 2014–2019 The Apache Software Foundation. All rights reserved.