## Uses of Interface
io.axoniq.dataprotection.serialization.Serializer

- Packages that use Serializer
  Package | Description
  --- | ---
  io.axoniq.dataprotection.api | Annotations, exceptions and encryption service objects of the Axon Data Protection Module.
  io.axoniq.dataprotection.serialization | Light-weight version of the serialization functionality in Axon Framework.
  io.axoniq.dataprotection.serialization.json | Support for serialization to JSON via Jackson.
  io.axoniq.dataprotection.serialization.xml | Support for serialization to XML via XStream.

- - ### Uses of Serializer in io.axoniq.dataprotection.api

    Classes in io.axoniq.dataprotection.api that implement Serializer
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `FieldEncryptingSerializer` | Implementation of `Serializer` which wraps a delegate `Serializer`, but performs encryption before serializing and decryption after deserializing, using a `FieldEncrypter`.

    Constructors in io.axoniq.dataprotection.api with parameters of type Serializer
    Constructor | Description
    --- | ---
    `FieldEncrypter​(CryptoEngine cryptoEngine, Serializer serializer)` | Instantiates a FieldEncrypter with the default rules for value replacement but a custom `Serializer`.
    `FieldEncrypter​(CryptoEngine cryptoEngine, Serializer serializer, ReplacementValueProvider replacementValueProvider)` | Instantiates a FieldEncrypter with a custom `ReplacementValueProvider` and a custom `Serializer`.
    `FieldEncryptingSerializer​(FieldEncrypter fieldEncrypter, Serializer delegateSerializer)` | Constructs a `FieldEncryptingSerializer` for a given `FieldEncrypter` and `Serializer`.
    `FieldEncryptingSerializer​(CryptoEngine cryptoEngine, ReplacementValueProvider replacementValueProvider, Serializer delegateSerializer)` | Deprecated. in favor of using the `FieldEncryptingSerializer(CryptoEngine, Serializer, ReplacementValueProvider, Serializer)` to construct an instance using a configured `Serializer` instances.
    `FieldEncryptingSerializer​(CryptoEngine cryptoEngine, Serializer delegateSerializer)` | Deprecated. in favor of using the `FieldEncryptingSerializer(CryptoEngine, Serializer, Serializer)` to construct an instance using a configured `Serializer` instances.
    `FieldEncryptingSerializer​(CryptoEngine cryptoEngine, Serializer personalDataSerializer, ReplacementValueProvider replacementValueProvider, Serializer delegateSerializer)` | Constructs a `FieldEncryptingSerializer` using a given `CryptoEngine`, `ReplacementValueProvider` and `Serializer`.
    `FieldEncryptingSerializer​(CryptoEngine cryptoEngine, Serializer personalDataSerializer, Serializer delegateSerializer)` | Constructs a `FieldEncryptingSerializer` using a given `CryptoEngine` and `Serializer`.

  - ### Uses of Serializer in io.axoniq.dataprotection.serialization

    Classes in io.axoniq.dataprotection.serialization that implement Serializer
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractXStreamSerializer` | Abstract implementation for XStream based serializers.
    `class` | `JavaSerializer` | Serializer implementation that uses Java serialization to serialize and deserialize object instances.

  - ### Uses of Serializer in io.axoniq.dataprotection.serialization.json

    Classes in io.axoniq.dataprotection.serialization.json that implement Serializer
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `JacksonSerializer` | Serializer implementation that uses Jackson to serialize objects into a JSON format.

  - ### Uses of Serializer in io.axoniq.dataprotection.serialization.xml

    Classes in io.axoniq.dataprotection.serialization.xml that implement Serializer
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `XStreamSerializer` | Serializer that uses XStream to serialize and deserialize arbitrary objects.