public static CoordinationService<InternalSchemaMetadata> wrapHidingVersionSerialization( CoordinationService<VersionedInternalSchemaMetadata> rawCoordinationService) { return new TransformingCoordinationService<>( rawCoordinationService, InternalSchemaMetadataPayloadCodec::decode, InternalSchemaMetadataPayloadCodec::encode); }
@Override public Optional<ValueAndBound<T2>> getValueForTimestamp(long timestamp) { return delegate.getValueForTimestamp(timestamp) .map(preservingBounds(transformFromUnderlying)); }
@Override public Optional<ValueAndBound<T2>> getLastKnownLocalValue() { return delegate.getLastKnownLocalValue() .map(preservingBounds(transformFromUnderlying)); }
public static CoordinationService<InternalSchemaMetadata> wrapHidingVersionSerialization( CoordinationService<VersionedInternalSchemaMetadata> rawCoordinationService) { return new TransformingCoordinationService<>( rawCoordinationService, InternalSchemaMetadataPayloadCodec::decode, InternalSchemaMetadataPayloadCodec::encode); }
@Override public CheckAndSetResult<ValueAndBound<T2>> tryTransformCurrentValue(Function<ValueAndBound<T2>, T2> valueUpdater) { CheckAndSetResult<ValueAndBound<T1>> delegateResult = delegate.tryTransformCurrentValue( preservingBounds(transformFromUnderlying).andThen(valueUpdater).andThen(transformToUnderlying)); return CheckAndSetResult.of( delegateResult.successful(), delegateResult.existingValues() .stream() .map(preservingBounds(transformFromUnderlying)) .collect(Collectors.toList())); }
@Override public Optional<ValueAndBound<T2>> getValueForTimestamp(long timestamp) { return delegate.getValueForTimestamp(timestamp) .map(preservingBounds(transformFromUnderlying)); }
@Override public Optional<ValueAndBound<T2>> getLastKnownLocalValue() { return delegate.getLastKnownLocalValue() .map(preservingBounds(transformFromUnderlying)); }
@Override public CheckAndSetResult<ValueAndBound<T2>> tryTransformCurrentValue(Function<ValueAndBound<T2>, T2> valueUpdater) { CheckAndSetResult<ValueAndBound<T1>> delegateResult = delegate.tryTransformCurrentValue( preservingBounds(transformFromUnderlying).andThen(valueUpdater).andThen(transformToUnderlying)); return CheckAndSetResult.of( delegateResult.successful(), delegateResult.existingValues() .stream() .map(preservingBounds(transformFromUnderlying)) .collect(Collectors.toList())); }