Skip to content

Commit b8903a8

Browse files
author
Mark
committed
improved docu
1 parent 5c92773 commit b8903a8

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

docs/serialization.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,32 @@ To ignore fields at serialization/deserialization, use the annotation `Expose`
7373

7474
}
7575
```
76+
77+
## custom de-/serializer
78+
``` Java
79+
final ArangoDB arangoDB = new ArangoDB.Builder()
80+
.registerDeserializer(MyObject.class, new VPackDeserializer<MyObject>() {
81+
@Override
82+
public MyObject deserialize(
83+
final VPackSlice parent,
84+
final VPackSlice vpack,
85+
final VPackDeserializationContext context) throws VPackException {
86+
87+
final MyObject obj = new MyObject();
88+
obj.setName(vpack.get("name").getAsString());
89+
return obj;
90+
}
91+
}).registerSerializer(MyObject.class, new VPackSerializer<MyObject>() {
92+
@Override
93+
public void serialize(
94+
final VPackBuilder builder,
95+
final String attribute,
96+
final MyObject value,
97+
final VPackSerializationContext context) throws VPackException {
98+
99+
builder.add(attribute, ValueType.OBJECT);
100+
builder.add("name", value.getName());
101+
builder.close();
102+
}
103+
}).build();
104+
```

0 commit comments

Comments
 (0)