DATAREDIS-1000 - Polishing.
Deprecate raw() and introduce dedicated methods for byteArray and byteBuffer. Original Pull Request: #459
This commit is contained in:
@@ -21,8 +21,9 @@ import org.springframework.lang.Nullable;
|
||||
* Raw {@link RedisSerializer} using {@code byte[]}.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @since 2.2
|
||||
*/
|
||||
enum RawRedisSerializer implements RedisSerializer<byte[]> {
|
||||
enum ByteArrayRedisSerializer implements RedisSerializer<byte[]> {
|
||||
|
||||
INSTANCE;
|
||||
|
||||
@@ -79,25 +79,38 @@ public interface RedisSerializationContext<K, V> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link RedisSerializationContext} using a {@link SerializationPair#raw() ByteBuffer} serialization
|
||||
* Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#byteArray() byte[]} serialization
|
||||
* pair.
|
||||
*
|
||||
* @return
|
||||
* @return new instance of {@link RedisSerializationContext}.
|
||||
* @deprecated since 2.2. Please use {@link #byteArray()} instead.
|
||||
*/
|
||||
static RedisSerializationContext<ByteBuffer, ByteBuffer> raw() {
|
||||
return just(RedisSerializerToSerializationPairAdapter.raw());
|
||||
@Deprecated
|
||||
static RedisSerializationContext<byte[], byte[]> raw() {
|
||||
return byteArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#raw() byte[]} serialization.
|
||||
* Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#byteArray() byte[]} serialization.
|
||||
*
|
||||
* @return
|
||||
* @return new instance of {@link RedisSerializationContext}.
|
||||
* @since 2.2
|
||||
*/
|
||||
static RedisSerializationContext<byte[], byte[]> byteArray() {
|
||||
return just(RedisSerializerToSerializationPairAdapter.byteArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link RedisSerializationContext} using a {@link SerializationPair#byteBuffer() ByteBuffer}
|
||||
* serialization.
|
||||
*
|
||||
* @return new instance of {@link RedisSerializationContext}.
|
||||
* @since 2.2
|
||||
*/
|
||||
static RedisSerializationContext<ByteBuffer, ByteBuffer> byteBuffer() {
|
||||
return just(RedisSerializerToSerializationPairAdapter.byteBuffer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link RedisSerializationContext} using a {@link JdkSerializationRedisSerializer}.
|
||||
*
|
||||
@@ -217,11 +230,33 @@ public interface RedisSerializationContext<K, V> {
|
||||
* Creates a pass through {@link SerializationPair} to pass-thru {@link ByteBuffer} objects.
|
||||
*
|
||||
* @return a pass through {@link SerializationPair}.
|
||||
* @deprecated since 2.2. Please use either {@link #byteArray()} or {@link #byteBuffer()}.
|
||||
*/
|
||||
static SerializationPair<ByteBuffer> raw() {
|
||||
@Deprecated
|
||||
static <T> SerializationPair<T> raw() {
|
||||
return RedisSerializerToSerializationPairAdapter.raw();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a pass through {@link SerializationPair} to pass-thru {@link byte} objects.
|
||||
*
|
||||
* @return a pass through {@link SerializationPair}.
|
||||
* @since 2.2
|
||||
*/
|
||||
static SerializationPair<byte[]> byteArray() {
|
||||
return RedisSerializerToSerializationPairAdapter.byteArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a pass through {@link SerializationPair} to pass-thru {@link ByteBuffer} objects.
|
||||
*
|
||||
* @return a pass through {@link SerializationPair}.
|
||||
* @since 2.2
|
||||
*/
|
||||
static SerializationPair<ByteBuffer> byteBuffer() {
|
||||
return RedisSerializerToSerializationPairAdapter.byteBuffer();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the {@link RedisElementReader}.
|
||||
*/
|
||||
|
||||
@@ -93,13 +93,13 @@ public interface RedisSerializer<T> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtain a raw {@link RedisSerializer} that passes thru {@code byte[]}.
|
||||
* Obtain a {@link RedisSerializer} that passes thru {@code byte[]}.
|
||||
*
|
||||
* @return never {@literal null}.
|
||||
* @since 2.2
|
||||
*/
|
||||
static RedisSerializer<byte[]> raw() {
|
||||
return RawRedisSerializer.INSTANCE;
|
||||
static RedisSerializer<byte[]> byteArray() {
|
||||
return ByteArrayRedisSerializer.INSTANCE;
|
||||
}
|
||||
|
||||
default boolean canSerialize(Class<?> type) {
|
||||
|
||||
@@ -30,11 +30,11 @@ import org.springframework.util.Assert;
|
||||
*/
|
||||
class RedisSerializerToSerializationPairAdapter<T> implements SerializationPair<T> {
|
||||
|
||||
private final static RedisSerializerToSerializationPairAdapter<?> RAW = new RedisSerializerToSerializationPairAdapter<>(
|
||||
private final static RedisSerializerToSerializationPairAdapter<?> BYTE_BUFFER = new RedisSerializerToSerializationPairAdapter<>(
|
||||
null);
|
||||
|
||||
private final static RedisSerializerToSerializationPairAdapter<byte[]> BYTE_ARRAY = new RedisSerializerToSerializationPairAdapter<>(
|
||||
RedisSerializer.raw());
|
||||
RedisSerializer.byteArray());
|
||||
|
||||
private final DefaultSerializationPair pair;
|
||||
|
||||
@@ -43,15 +43,32 @@ class RedisSerializerToSerializationPairAdapter<T> implements SerializationPair<
|
||||
new DefaultRedisElementWriter<>(serializer));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the {@link RedisSerializerToSerializationPairAdapter} for {@link ByteBuffer}.
|
||||
* @deprecated since 2.2. Please use {@link #byteBuffer()} instead.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
static SerializationPair<ByteBuffer> raw() {
|
||||
return (SerializationPair) RAW;
|
||||
@Deprecated
|
||||
static <T> SerializationPair<T> raw() {
|
||||
return (SerializationPair) byteBuffer();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the {@link RedisSerializerToSerializationPairAdapter} for {@link byte[]}.
|
||||
* @since 2.2
|
||||
*/
|
||||
static SerializationPair<byte[]> byteArray() {
|
||||
return BYTE_ARRAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the {@link RedisSerializerToSerializationPairAdapter} for {@link ByteBuffer}.
|
||||
* @since 2.2
|
||||
*/
|
||||
static SerializationPair<ByteBuffer> byteBuffer() {
|
||||
return (SerializationPair) BYTE_BUFFER;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a {@link SerializationPair} from given {@link RedisSerializer}.
|
||||
*
|
||||
|
||||
@@ -710,7 +710,7 @@ public interface StreamMessageListenerContainer<K, V extends Record<K, ?>> exten
|
||||
/**
|
||||
* Configure a hash target type. Changes the emitted {@link Record} type to {@link ObjectRecord}.
|
||||
*
|
||||
* @param pair must not be {@literal null}.
|
||||
* @param targetType must not be {@literal null}.
|
||||
* @return {@code this} {@link StreamMessageListenerContainerOptionsBuilder}.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -722,8 +722,8 @@ public interface StreamMessageListenerContainer<K, V extends Record<K, ?>> exten
|
||||
|
||||
if (this.hashMapper == null) {
|
||||
|
||||
hashKeySerializer(RedisSerializer.raw());
|
||||
hashValueSerializer(RedisSerializer.raw());
|
||||
hashKeySerializer(RedisSerializer.byteArray());
|
||||
hashValueSerializer(RedisSerializer.byteArray());
|
||||
return (StreamMessageListenerContainerOptionsBuilder) objectMapper(new ObjectHashMapper());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user