diff --git a/src/main/java/org/springframework/data/redis/core/AbstractOperations.java b/src/main/java/org/springframework/data/redis/core/AbstractOperations.java index 85013edc3..fe137dae0 100644 --- a/src/main/java/org/springframework/data/redis/core/AbstractOperations.java +++ b/src/main/java/org/springframework/data/redis/core/AbstractOperations.java @@ -53,23 +53,32 @@ abstract class AbstractOperations { protected abstract byte[] inRedis(byte[] rawKey, RedisConnection connection); } - RedisSerializer keySerializer = null; - RedisSerializer valueSerializer = null; - RedisSerializer hashKeySerializer = null; - RedisSerializer hashValueSerializer = null; - RedisSerializer stringSerializer = null; RedisTemplate template; AbstractOperations(RedisTemplate template) { - keySerializer = template.getKeySerializer(); - valueSerializer = template.getValueSerializer(); - hashKeySerializer = template.getHashKeySerializer(); - hashValueSerializer = template.getHashValueSerializer(); - stringSerializer = template.getStringSerializer(); - this.template = template; } + RedisSerializer keySerializer() { + return template.getKeySerializer(); + } + + RedisSerializer valueSerializer() { + return template.getValueSerializer(); + } + + RedisSerializer hashKeySerializer() { + return template.getHashKeySerializer(); + } + + RedisSerializer hashValueSerializer() { + return template.getHashValueSerializer(); + } + + RedisSerializer stringSerializer() { + return template.getStringSerializer(); + } + T execute(RedisCallback callback, boolean b) { return template.execute(callback, b); @@ -82,27 +91,27 @@ abstract class AbstractOperations { @SuppressWarnings("unchecked") byte[] rawKey(Object key) { Assert.notNull(key, "non null key required"); - return keySerializer.serialize(key); + return keySerializer().serialize(key); } byte[] rawString(String key) { - return stringSerializer.serialize(key); + return stringSerializer().serialize(key); } @SuppressWarnings("unchecked") byte[] rawValue(Object value) { - return valueSerializer.serialize(value); + return valueSerializer().serialize(value); } @SuppressWarnings("unchecked") byte[] rawHashKey(HK hashKey) { Assert.notNull(hashKey, "non null hash key required"); - return hashKeySerializer.serialize(hashKey); + return hashKeySerializer().serialize(hashKey); } @SuppressWarnings("unchecked") byte[] rawHashValue(HV value) { - return hashValueSerializer.serialize(value); + return hashValueSerializer().serialize(value); } byte[][] rawKeys(K key, K otherKey) { @@ -136,31 +145,31 @@ abstract class AbstractOperations { @SuppressWarnings("unchecked") Set deserializeValues(Set rawValues) { - return SerializationUtils.deserialize(rawValues, valueSerializer); + return SerializationUtils.deserialize(rawValues, valueSerializer()); } @SuppressWarnings("unchecked") Set> deserializeTupleValues(Set rawValues) { Set> set = new LinkedHashSet>(rawValues.size()); for (Tuple rawValue : rawValues) { - set.add(new DefaultTypedTuple(valueSerializer.deserialize(rawValue.getValue()), rawValue.getScore())); + set.add(new DefaultTypedTuple(valueSerializer().deserialize(rawValue.getValue()), rawValue.getScore())); } return set; } @SuppressWarnings("unchecked") List deserializeValues(List rawValues) { - return SerializationUtils.deserialize(rawValues, valueSerializer); + return SerializationUtils.deserialize(rawValues, valueSerializer()); } @SuppressWarnings("unchecked") Set deserializeHashKeys(Set rawKeys) { - return SerializationUtils.deserialize(rawKeys, hashKeySerializer); + return SerializationUtils.deserialize(rawKeys, hashKeySerializer()); } @SuppressWarnings("unchecked") List deserializeHashValues(List rawValues) { - return SerializationUtils.deserialize(rawValues, hashValueSerializer); + return SerializationUtils.deserialize(rawValues, hashValueSerializer()); } @SuppressWarnings("unchecked") @@ -181,25 +190,25 @@ abstract class AbstractOperations { @SuppressWarnings("unchecked") K deserializeKey(byte[] value) { - return (K) keySerializer.deserialize(value); + return (K) keySerializer().deserialize(value); } @SuppressWarnings("unchecked") V deserializeValue(byte[] value) { - return (V) valueSerializer.deserialize(value); + return (V) valueSerializer().deserialize(value); } String deserializeString(byte[] value) { - return (String) stringSerializer.deserialize(value); + return (String) stringSerializer().deserialize(value); } @SuppressWarnings( { "unchecked" }) HK deserializeHashKey(byte[] value) { - return (HK) hashKeySerializer.deserialize(value); + return (HK) hashKeySerializer().deserialize(value); } @SuppressWarnings("unchecked") HV deserializeHashValue(byte[] value) { - return (HV) hashValueSerializer.deserialize(value); + return (HV) hashValueSerializer().deserialize(value); } } \ No newline at end of file