![JAR search and dependency download from the Maven repository](/logo.png)
com.arangodb.serde.ArangoSerde Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Core module for ArangoDB Java Driver
package com.arangodb.serde;
import com.arangodb.ContentType;
/**
* Contract for serialization/deserialization of user data.
* Implementations of this interface could be used for customizing serialization/deserialization of user related data
* using serialization/deserialization libraries like:
* - serialization libraries for specific JVM languages (e.g. Scala, Kotlin, ...)
* - serialization libraries already in use in frameworks (e.g. JSON-B, Micronaut Serialization, ...)
* - high performance serialization libraries (e.g. supporting compile-time data binding code generation)
* - low-level libraries without support to data binding
*/
public interface ArangoSerde {
/**
* Serializes the object into the target data type. For data type {@link ContentType#JSON}, the serialized JSON string
* must be encoded into a byte array using the UTF-8 charset.
*
* @param value object to serialize
* @return serialized byte array
*/
byte[] serialize(Object value);
/**
* Deserializes the content and binds it to the target data type.
* For data type {@link ContentType#JSON}, the byte array is the JSON string encoded using the UTF-8 charset.
*
* @param content byte array to deserialize
* @param clazz class of target data type
* @return deserialized object
*/
T deserialize(byte[] content, Class clazz);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy