Skip to content

Commit d55276a

Browse files
committed
doc review
1 parent 03648bc commit d55276a

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

docs/v7_java.md

+32
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,38 @@ Examples can be found here:
6767
- [arango-micronaut-native-example](https://github.com/arangodb-helper/arango-micronaut-native-example)
6868

6969

70+
## ArangoDB Java Driver Shaded
71+
72+
Since version `7`, a shaded variant of the driver is also published with maven coordinates:
73+
`com.arangodb:arangodb-java-driver-shaded`.
74+
75+
It bundles and relocates the following packages:
76+
- `com.fasterxml.jackson`
77+
- `com.arangodb.jackson.dataformat.velocypack`
78+
- `io.vertx`
79+
- `io.netty`
80+
81+
Note that the **internal serde** uses internally Jackson classes from `com.fasterxml.jackson` that are relocated
82+
to `com.arangodb.shaded.fasterxml.jackson`. Therefore, the **internal serde** of the shaded driver is not
83+
compatible with Jackson annotations and modules from package`com.fasterxml.jackson`, but only with their relocated
84+
variants. In case the **internal serde** is used as **user-data serde**, the annotations from package
85+
`com.arangodb.serde` can be used to annotate fields, parameters, getters and setters for mapping values representing
86+
ArangoDB documents metadata (`_id`, `_key`, `_rev`, `_from`, `_to`):
87+
- `@InternalId`
88+
- `@InternalKey`
89+
- `@InternalRev`
90+
- `@InternalFrom`
91+
- `@InternalTo`
92+
93+
These annotations are compatible with relocated Jackson classes.
94+
Note that the **internal serde** is not part of the public API and could change in future releases without notice, thus
95+
breaking client applications relying on it to serialize or deserialize user-data. It is therefore recommended also in
96+
this case either:
97+
- using the default user-data serde `JacksonSerde` (from packages `com.arangodb:jackson-serde-json` or
98+
`com.arangodb:jackson-serde-vpack`), or
99+
- providing a custom user-data serde implementation via `ArangoDB.Builder.serde(ArangoSerde)`.
100+
101+
70102
## See Also
71103

72104
- [JavaDoc](https://www.javadoc.io/doc/com.arangodb/arangodb-java-driver/latest/index.html)

0 commit comments

Comments
 (0)