Class MappingR2dbcConverter
java.lang.Object
org.springframework.data.relational.core.conversion.AbstractRelationalConverter
org.springframework.data.relational.core.conversion.MappingRelationalConverter
org.springframework.data.r2dbc.convert.MappingR2dbcConverter
- All Implemented Interfaces:
Aware, ApplicationContextAware, EnvironmentCapable, EntityReader<Object, io.r2dbc.spi.Row>, EntityWriter<Object, OutboundRow>, R2dbcConverter, RelationalConverter
Converter for R2DBC.
- Author:
- Mark Paluch, Oliver Drotbohm, Jens Schauder
-
Nested Class Summary
Nested classes/interfaces inherited from class MappingRelationalConverter
MappingRelationalConverter.AggregatePathValueProvider, MappingRelationalConverter.ConversionContext, MappingRelationalConverter.DefaultConversionContext, MappingRelationalConverter.DocumentValueProvider, MappingRelationalConverter.ProjectingConversionContext, MappingRelationalConverter.RelationalPropertyValueProvider -
Constructor Summary
ConstructorsConstructorDescriptionMappingR2dbcConverter(MappingContext<? extends RelationalPersistentEntity<?>, ? extends RelationalPersistentProperty> context) Creates a newMappingR2dbcConvertergivenMappingContext.MappingR2dbcConverter(MappingContext<? extends RelationalPersistentEntity<?>, ? extends RelationalPersistentProperty> context, CustomConversions conversions) -
Method Summary
Modifier and TypeMethodDescriptioncreateCollection(Collection<?> collection, RelationalPersistentProperty property) Writes the givenCollectionusing the givenRelationalPersistentPropertyinformation.getArrayValue(ArrayColumns arrayColumns, RelationalPersistentProperty property, Object value) Convert avalueinto an array representation according toArrayColumns.Class<?> getTargetType(Class<?> valueType) Return the target type for a value considering registered converters.booleanisSimpleType(Class<?> type) Return whether thetypeis a simple type.<T> BiFunction<io.r2dbc.spi.Row, io.r2dbc.spi.RowMetadata, T> populateIdIfNecessary(T object) <R> R<R> RReads the given source into the given type.toRowDocument(Class<?> type, io.r2dbc.spi.Readable row, @Nullable Iterable<? extends io.r2dbc.spi.ReadableMetadata> metadata) Create a flatRowDocumentfrom a singleRow or Stored Procedure output.voidwrite(Object source, OutboundRow sink) Methods inherited from class MappingRelationalConverter
doReadProjection, getConversionContext, getEnvironment, getPotentiallyConvertedSimpleRead, getPotentiallyConvertedSimpleWrite, getPropertyAccessor, introspectProjection, newProjectingConversionContext, newValueProvider, project, read, read, readAggregate, readAggregate, readCollectionOrArray, readMap, readValue, setApplicationContext, unwrap, writeValueMethods inherited from class AbstractRelationalConverter
getConversions, getConversionService, getEntityInstantiators, getMappingContextMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface R2dbcConverter
getConversionServiceMethods inherited from interface RelationalConverter
getEntityInstantiators, getMappingContext, getPropertyAccessor, introspectProjection, project, read, readValue, writeValue
-
Constructor Details
-
MappingR2dbcConverter
public MappingR2dbcConverter(MappingContext<? extends RelationalPersistentEntity<?>, ? extends RelationalPersistentProperty> context) Creates a newMappingR2dbcConvertergivenMappingContext.- Parameters:
context- must not be null.
-
MappingR2dbcConverter
public MappingR2dbcConverter(MappingContext<? extends RelationalPersistentEntity<?>, ? extends RelationalPersistentProperty> context, CustomConversions conversions) - Parameters:
context- must not be null.
-
-
Method Details
-
read
- Specified by:
readin interfaceEntityReader<Object, io.r2dbc.spi.Row>
-
read
Description copied from interface:R2dbcConverterReads the given source into the given type.- Specified by:
readin interfaceR2dbcConverter- Parameters:
type- they type to convert the given source to.row- the source to create an object of the given type from.metadata- theRowMetadata.- Returns:
-
toRowDocument
public RowDocument toRowDocument(Class<?> type, io.r2dbc.spi.Readable row, @Nullable Iterable<? extends io.r2dbc.spi.ReadableMetadata> metadata) Description copied from interface:R2dbcConverterCreate a flatRowDocumentfrom a singleRow or Stored Procedure output.- Specified by:
toRowDocumentin interfaceR2dbcConverter- Parameters:
type- the underlying entity type.row- the row or stored procedure output to retrieve data from.metadata- readable metadata.- Returns:
- the
RowDocumentcontaining the data.
-
write
- Specified by:
writein interfaceEntityWriter<Object, OutboundRow>
-
createCollection
protected List<Object> createCollection(Collection<?> collection, RelationalPersistentProperty property) Writes the givenCollectionusing the givenRelationalPersistentPropertyinformation.- Parameters:
collection- must not be null.property- must not be null.- Returns:
-
getArrayValue
public Object getArrayValue(ArrayColumns arrayColumns, RelationalPersistentProperty property, Object value) Description copied from interface:R2dbcConverterConvert avalueinto an array representation according toArrayColumns.- Specified by:
getArrayValuein interfaceR2dbcConverter- Parameters:
arrayColumns- dialect-specific array handling configuration.property-value-- Returns:
-
getTargetType
Description copied from interface:R2dbcConverterReturn the target type for a value considering registered converters.- Specified by:
getTargetTypein interfaceR2dbcConverter- Parameters:
valueType- must not be null.- Returns:
-
isSimpleType
Description copied from interface:R2dbcConverterReturn whether thetypeis a simple type. Simple types are database primitives or types with a custom mapping strategy.- Specified by:
isSimpleTypein interfaceR2dbcConverter- Parameters:
type- the type to inspect, must not be null.- Returns:
- true if the type is a simple one.
- See Also:
-
populateIdIfNecessary
public <T> BiFunction<io.r2dbc.spi.Row, io.r2dbc.spi.RowMetadata, T> populateIdIfNecessary(T object) - Specified by:
populateIdIfNecessaryin interfaceR2dbcConverter- Parameters:
object- must not be null.- Returns:
-