Class AbstractCouchbaseConverter
java.lang.Object
org.springframework.data.couchbase.core.convert.AbstractCouchbaseConverter
- All Implemented Interfaces:
InitializingBean
,EntityConverter<CouchbasePersistentEntity<?>,
,CouchbasePersistentProperty, Object, CouchbaseDocument> EntityReader<Object,
,CouchbaseDocument> EntityWriter<Object,
,CouchbaseDocument> CouchbaseConverter
,CouchbaseWriter<Object,
CouchbaseDocument>
- Direct Known Subclasses:
MappingCouchbaseConverter
public abstract class AbstractCouchbaseConverter
extends Object
implements CouchbaseConverter, InitializingBean
An abstract
CouchbaseConverter
that provides the basics for the MappingCouchbaseConverter
.- Author:
- Michael Nitschinger, Mark Paluch, Michael Reiche, Vipul Gupta
-
Field Summary
Modifier and TypeFieldDescriptionprotected CustomConversions
Holds the custom conversions.protected final GenericConversionService
Contains the conversion service.protected EntityInstantiators
Contains the entity instantiators. -
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractCouchbaseConverter
(GenericConversionService conversionService, CustomConversions customConversions) Create a new converter with custom conversions and hand it over theConversionService
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Do nothing after the properties set on the bean.convertForWriteIfNeeded
(Object inValue) This convertForWriteIfNeed takes only the value to convert.convertForWriteIfNeeded
(CouchbasePersistentProperty prop, ConvertingPropertyAccessor<Object> accessor, boolean processValueConverter) This convertForWriteIfNeeded takes a property and accessor so that the annotations can be accessed (ie.return the conversionsReturn the conversion service.Class<?>
getWriteClassFor
(Class<?> clazz) Return the Class that would actually be stored for a given Class.void
setCustomConversions
(CustomConversions conversions) Set the custom conversions.void
setInstantiators
(EntityInstantiators instantiators) Set the entity instantiators.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.data.couchbase.core.convert.CouchbaseConverter
getTypeAlias, getTypeKey
Methods inherited from interface org.springframework.data.convert.EntityConverter
getMappingContext
Methods inherited from interface org.springframework.data.convert.EntityReader
read
Methods inherited from interface org.springframework.data.convert.EntityWriter
write
-
Field Details
-
conversionService
Contains the conversion service. -
instantiators
Contains the entity instantiators. -
conversions
Holds the custom conversions.
-
-
Constructor Details
-
AbstractCouchbaseConverter
protected AbstractCouchbaseConverter(GenericConversionService conversionService, CustomConversions customConversions) Create a new converter with custom conversions and hand it over theConversionService
- Parameters:
conversionService
- the conversion service to use.customConversions
- the custom conversions to use
-
-
Method Details
-
getConversionService
Return the conversion service.- Specified by:
getConversionService
in interfaceEntityConverter<CouchbasePersistentEntity<?>,
CouchbasePersistentProperty, Object, CouchbaseDocument> - Returns:
- the conversion service.
-
setCustomConversions
Set the custom conversions. Note that updating conversions requires a subsequent call to register them with the conversionService: conversions.registerConvertersIn(conversionService)- Parameters:
conversions
- the conversions.
-
setInstantiators
Set the entity instantiators.- Parameters:
instantiators
- the instantiators.
-
afterPropertiesSet
public void afterPropertiesSet()Do nothing after the properties set on the bean.- Specified by:
afterPropertiesSet
in interfaceInitializingBean
-
convertForWriteIfNeeded
public Object convertForWriteIfNeeded(CouchbasePersistentProperty prop, ConvertingPropertyAccessor<Object> accessor, boolean processValueConverter) This convertForWriteIfNeeded takes a property and accessor so that the annotations can be accessed (ie. @Encrypted)- Specified by:
convertForWriteIfNeeded
in interfaceCouchbaseConverter
- Parameters:
prop
- the property to be converted to the class that would actually be stored.accessor
- the property accessor- Returns:
-
convertForWriteIfNeeded
This convertForWriteIfNeed takes only the value to convert. It cannot access the annotations of the Field being converted.- Specified by:
convertForWriteIfNeeded
in interfaceCouchbaseConverter
- Parameters:
inValue
- the value to be converted to the class that would actually be stored.- Returns:
-
getWriteClassFor
Description copied from interface:CouchbaseConverter
Return the Class that would actually be stored for a given Class.- Specified by:
getWriteClassFor
in interfaceCouchbaseConverter
- Parameters:
clazz
- the source class.- Returns:
- the target class that would actually be stored.
- See Also:
-
getConversions
Description copied from interface:CouchbaseConverter
return the conversions- Specified by:
getConversions
in interfaceCouchbaseConverter
- Returns:
- conversions
-