@@ -69,7 +69,7 @@ mvn clean install -DskipTests=true -Dgpg.skip=true -Dmaven.javadoc.skip=true -B
69
69
* [ Java 8 types] ( #java-8-types )
70
70
* [ Scala types] ( #scala-types )
71
71
* [ Joda-Time] ( #joda-time )
72
- * custom de-/ serializer
72
+ * [ custom serializer ] ( #custom- serializer)
73
73
* [ Manipulating databases] ( #manipulating-databases )
74
74
* [ create database] ( #create-database )
75
75
* [ drop database] ( #drop-database )
@@ -265,6 +265,36 @@ Added support for:
265
265
ArangoDB arangoDB = new ArangoDB .Builder (). registerModule(new VPackJodaModule ()). build();
266
266
```
267
267
268
+ ## custom serializer
269
+ ``` Java
270
+ ArangoDB arangoDB = new ArangoDB .Builder ()
271
+ .registerDeserializer(MyObject . class, new VPackDeserializer<MyObject > () {
272
+ @Override
273
+ public MyObject deserialize (
274
+ final VPackSlice parent ,
275
+ final VPackSlice vpack ,
276
+ final VPackDeserializationContext context ) throws VPackException {
277
+
278
+ final MyObject obj = new MyObject ();
279
+ obj. setName(vpack. get(" name" ). getAsString());
280
+ return obj;
281
+ }
282
+ }). registerSerializer(MyObject . class, new VPackSerializer<MyObject > () {
283
+ @Override
284
+ public void serialize (
285
+ final VPackBuilder builder ,
286
+ final String attribute ,
287
+ final MyObject value ,
288
+ final VPackSerializationContext context ) throws VPackException {
289
+
290
+ builder. add(attribute, ValueType . OBJECT );
291
+ builder. add(" name" , value. getName());
292
+ builder. close();
293
+ }
294
+ }). build();
295
+ ```
296
+
297
+
268
298
# Manipulating databases
269
299
270
300
## create database
0 commit comments