public class MappingRedisConverter extends Object implements RedisConverter, InitializingBean
RedisConverter
implementation creating flat binary map structure out of a given domain type. Considers
Indexed
annotation for enabling helper structures for finder operations. MappingRedisConverter
is an InitializingBean
and requires
afterPropertiesSet()
to be called.
@RedisHash("persons")
class Person {
@Id String id;
String firstname;
List nicknames;
List coworkers;
Address address;
@Reference Country nationality;
}
The above is represented as:
_class=org.example.Person
id=1
firstname=rand
lastname=al'thor
coworkers.[0].firstname=mat
coworkers.[0].nicknames.[0]=prince of the ravens
coworkers.[1].firstname=perrin
coworkers.[1].address.city=two rivers
nationality=nationality:andora
Modifier and Type | Class and Description |
---|---|
static class |
MappingRedisConverter.BinaryKeyspaceIdentifier
Value object representing a binary Redis Hash/Object identifier composed from keyspace and object id in the form of
keyspace:id.
|
static class |
MappingRedisConverter.KeyspaceIdentifier
Value object representing a Redis Hash/Object identifier composed from keyspace and object id in the form of
keyspace:id.
|
Constructor and Description |
---|
MappingRedisConverter(RedisMappingContext context)
Creates new
MappingRedisConverter . |
MappingRedisConverter(RedisMappingContext mappingContext,
IndexResolver indexResolver,
ReferenceResolver referenceResolver)
Creates new
MappingRedisConverter and defaults RedisMappingContext when null. |
MappingRedisConverter(RedisMappingContext mappingContext,
IndexResolver indexResolver,
ReferenceResolver referenceResolver,
RedisTypeMapper typeMapper)
Creates new
MappingRedisConverter and defaults RedisMappingContext when null. |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
<T> T |
fromBytes(byte[] source,
Class<T> type)
Convert given binary representation to desired target type using the underlying
ConversionService . |
ConversionService |
getConversionService() |
IndexResolver |
getIndexResolver() |
RedisMappingContext |
getMappingContext() |
<R> R |
read(Class<R> type,
RedisData source) |
protected Object |
readProperty(String path,
RedisData source,
RedisPersistentProperty persistentProperty) |
void |
setCustomConversions(CustomConversions customConversions)
Set
CustomConversions to be applied. |
void |
setIndexResolver(IndexResolver indexResolver) |
void |
setReferenceResolver(ReferenceResolver referenceResolver) |
byte[] |
toBytes(Object source)
Convert given source to binary representation using the underlying
ConversionService . |
void |
write(Object source,
RedisData sink) |
protected void |
writePartialUpdate(PartialUpdate<?> update,
RedisData sink) |
public MappingRedisConverter(RedisMappingContext context)
MappingRedisConverter
.context
- can be null.public MappingRedisConverter(@Nullable RedisMappingContext mappingContext, @Nullable IndexResolver indexResolver, @Nullable ReferenceResolver referenceResolver)
MappingRedisConverter
and defaults RedisMappingContext
when null.mappingContext
- can be null.indexResolver
- can be null.referenceResolver
- can be not be null.public MappingRedisConverter(@Nullable RedisMappingContext mappingContext, @Nullable IndexResolver indexResolver, @Nullable ReferenceResolver referenceResolver, @Nullable RedisTypeMapper typeMapper)
MappingRedisConverter
and defaults RedisMappingContext
when null.mappingContext
- can be null.indexResolver
- can be null.referenceResolver
- can be null.typeMapper
- can be null.public <R> R read(Class<R> type, RedisData source)
read
in interface EntityReader<Object,RedisData>
@Nullable protected Object readProperty(String path, RedisData source, RedisPersistentProperty persistentProperty)
public void write(Object source, RedisData sink)
write
in interface EntityWriter<Object,RedisData>
protected void writePartialUpdate(PartialUpdate<?> update, RedisData sink)
public byte[] toBytes(Object source)
ConversionService
.source
- ConverterNotFoundException
public <T> T fromBytes(byte[] source, Class<T> type)
ConversionService
.source
- type
- ConverterNotFoundException
public void setIndexResolver(IndexResolver indexResolver)
public void setReferenceResolver(ReferenceResolver referenceResolver)
public void setCustomConversions(@Nullable CustomConversions customConversions)
CustomConversions
to be applied.customConversions
- public RedisMappingContext getMappingContext()
getMappingContext
in interface EntityConverter<RedisPersistentEntity<?>,RedisPersistentProperty,Object,RedisData>
getMappingContext
in interface RedisConverter
@Nullable public IndexResolver getIndexResolver()
getIndexResolver
in interface RedisConverter
IndexResolver
, may be null.public ConversionService getConversionService()
getConversionService
in interface EntityConverter<RedisPersistentEntity<?>,RedisPersistentProperty,Object,RedisData>
public void afterPropertiesSet()
afterPropertiesSet
in interface InitializingBean
Copyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.