Converter
Registering a Spring Converter
The ArangoConfiguration provides a convenient way to register Spring Converter by implementing the method customConverters().
Examples
@Configuration
public class MyConfiguration implements ArangoConfiguration {
@Override
protected Collection<Converter<?, ?>> customConverters() {
return Arrays.asList(new MyConverter());
}
}
Implementing a Spring Converter
A Converter is used for reading if the source type is of type VPackSlice or DBDocumentEntity.
A Converter is used for writing if the target type is of type VPackSlice, DBDocumentEntity, BigInteger, BigDecimal, java.sql.Date, java.sql.Timestamp, Instant, LocalDate, LocalDateTime, OffsetDateTime, ZonedDateTime, Boolean, Short, Integer, Byte, Float, Double, Character, String, Date, Class, Enum, boolean[], long[], short[], int[], byte[], float[], double[] or char[].
Examples
public class MyConverter implements Converter<MyObject, VPackSlice> {
@Override
public VPackSlice convert(final MyObject source) {
VPackBuilder builder = new VPackBuilder();
// map fields of MyObject to builder
return builder.slice();
}
}
For performance reasons VPackSlice should always be used within a converter. If your object is too complex, you can also use DBDocumentEntity to simplify the mapping.