@Override public TypeSerializerConfigSnapshot snapshotConfiguration() { return new BufferSerializerConfigSnapshot<>(elementSerializer); }
@Override public CompatibilityResult<BufferEntry<T>> ensureCompatibility(TypeSerializerConfigSnapshot configSnapshot) { if (configSnapshot instanceof BufferSerializerConfigSnapshot) { Tuple2<TypeSerializer<?>, TypeSerializerConfigSnapshot> previousSerializerAndConfig = ((BufferSerializerConfigSnapshot) configSnapshot).getSingleNestedSerializerAndConfig(); CompatibilityResult<T> compatResult = CompatibilityUtil.resolveCompatibilityResult( previousSerializerAndConfig.f0, UnloadableDummyTypeSerializer.class, previousSerializerAndConfig.f1, elementSerializer); if (!compatResult.isRequiresMigration()) { return CompatibilityResult.compatible(); } else if (compatResult.getConvertDeserializer() != null) { return CompatibilityResult.requiresMigration( new BufferEntrySerializer<>( new TypeDeserializerAdapter<>( compatResult.getConvertDeserializer()))); } } return CompatibilityResult.requiresMigration(); } }
@Override public CompatibilityResult<BufferEntry<T>> ensureCompatibility(TypeSerializerConfigSnapshot configSnapshot) { if (configSnapshot instanceof BufferSerializerConfigSnapshot) { Tuple2<TypeSerializer<?>, TypeSerializerConfigSnapshot> previousSerializerAndConfig = ((BufferSerializerConfigSnapshot) configSnapshot).getSingleNestedSerializerAndConfig(); CompatibilityResult<T> compatResult = CompatibilityUtil.resolveCompatibilityResult( previousSerializerAndConfig.f0, UnloadableDummyTypeSerializer.class, previousSerializerAndConfig.f1, elementSerializer); if (!compatResult.isRequiresMigration()) { return CompatibilityResult.compatible(); } else if (compatResult.getConvertDeserializer() != null) { return CompatibilityResult.requiresMigration( new BufferEntrySerializer<>( new TypeDeserializerAdapter<>( compatResult.getConvertDeserializer()))); } } return CompatibilityResult.requiresMigration(); } }
@Override public TypeSerializerConfigSnapshot snapshotConfiguration() { return new BufferSerializerConfigSnapshot<>(elementSerializer); }
@Override public TypeSerializerSchemaCompatibility<BufferEntry<T>> resolveSchemaCompatibility(TypeSerializer<BufferEntry<T>> newSerializer) { return CompositeTypeSerializerUtil.delegateCompatibilityCheckToNewSnapshot( newSerializer, new BufferEntrySerializerSnapshot<>(), getSingleNestedSerializerAndConfig().f1); } }