Class MappingR2dbcConverter

java.lang.Object
org.springframework.data.relational.core.conversion.BasicRelationalConverter
org.springframework.data.r2dbc.convert.MappingR2dbcConverter
All Implemented Interfaces:
EntityReader<Object,Row>, EntityWriter<Object,OutboundRow>, R2dbcConverter, org.springframework.data.relational.core.conversion.RelationalConverter

public class MappingR2dbcConverter extends org.springframework.data.relational.core.conversion.BasicRelationalConverter implements R2dbcConverter
Converter for R2DBC.
Author:
Mark Paluch, Oliver Drotbohm
  • Constructor Details

    • MappingR2dbcConverter

      public MappingR2dbcConverter(MappingContext<? extends org.springframework.data.relational.core.mapping.RelationalPersistentEntity<?>,? extends org.springframework.data.relational.core.mapping.RelationalPersistentProperty> context)
      Parameters:
      context - must not be null.
    • MappingR2dbcConverter

      public MappingR2dbcConverter(MappingContext<? extends org.springframework.data.relational.core.mapping.RelationalPersistentEntity<?>,? extends org.springframework.data.relational.core.mapping.RelationalPersistentProperty> context, CustomConversions conversions)
      Parameters:
      context - must not be null.
  • Method Details

    • read

      public <R> R read(Class<R> type, Row row)
      Specified by:
      read in interface EntityReader<Object,Row>
    • read

      public <R> R read(Class<R> type, Row row, @Nullable RowMetadata metadata)
      Description copied from interface: R2dbcConverter
      Reads the given source into the given type.
      Specified by:
      read in interface R2dbcConverter
      Parameters:
      type - they type to convert the given source to.
      row - the source to create an object of the given type from.
      metadata - the RowMetadata.
      Returns:
    • readValue

      public Object readValue(@Nullable Object value, TypeInformation<?> type)
      Specified by:
      readValue in interface org.springframework.data.relational.core.conversion.RelationalConverter
      Overrides:
      readValue in class org.springframework.data.relational.core.conversion.BasicRelationalConverter
    • write

      public void write(Object source, OutboundRow sink)
      Specified by:
      write in interface EntityWriter<Object,OutboundRow>
    • createCollection

      protected List<Object> createCollection(Collection<?> collection, org.springframework.data.relational.core.mapping.RelationalPersistentProperty property)
      Writes the given Collection using the given RelationalPersistentProperty information.
      Parameters:
      collection - must not be null.
      property - must not be null.
      Returns:
    • getArrayValue

      public Object getArrayValue(org.springframework.data.relational.core.dialect.ArrayColumns arrayColumns, org.springframework.data.relational.core.mapping.RelationalPersistentProperty property, Object value)
      Description copied from interface: R2dbcConverter
      Convert a value into an array representation according to ArrayColumns.
      Specified by:
      getArrayValue in interface R2dbcConverter
      Parameters:
      arrayColumns - dialect-specific array handling configuration.
      Returns:
    • getTargetType

      public Class<?> getTargetType(Class<?> valueType)
      Description copied from interface: R2dbcConverter
      Return the target type for a value considering registered converters.
      Specified by:
      getTargetType in interface R2dbcConverter
      Parameters:
      valueType - must not be null.
      Returns:
    • isSimpleType

      public boolean isSimpleType(Class<?> type)
      Description copied from interface: R2dbcConverter
      Return whether the type is a simple type. Simple types are database primitives or types with a custom mapping strategy.
      Specified by:
      isSimpleType in interface R2dbcConverter
      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<Row,RowMetadata,T> populateIdIfNecessary(T object)
      Returns a Function that populates the id property of the object from a Row.
      Specified by:
      populateIdIfNecessary in interface R2dbcConverter
      Parameters:
      object - must not be null.
      Returns: