Package io.axoniq.dataprotection.api

## Annotation Type DeepPersonalData

-     @Retention(RUNTIME)
      @Target({ANNOTATION_TYPE,FIELD})
      @Repeatable(DeepPersonalDataContainer.class)
      public @interface DeepPersonalData

  Field annotation that marks the field as containing an object that contains personal data. This triggers the Axon Data Protection Module to process the value held in this field, examining it for annotations and encrypting accordingly. The annotation can also be used as a meta-annotation on some other application-specific annotation.

  Please see the Axon Data Protection Module guide for a detailed discussion of the usage of this annotation.

  For use in Scala programs, there is a `deepPersonalData` type alias for this annotation, defined in the package object of the api package. This alias has the `scala.annotation.meta.field` meta-annotation which allows it to be directly used on Scala class parameters, including case classes.

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element | Description
    --- | --- | ---
    `Scope` | `scope` | Get the `Scope` of the annotation.

- - ### Element Detail

    - #### scope

          Scope scope

      Get the `Scope` of the annotation. For non-`Map` fields, this should always be `DEFAULT`, whereas for `Map` fields it should always be `KEY`, `VALUE`, or `BOTH`.
      Returns:
        the scope
      Default:
        io.axoniq.dataprotection.api.Scope.DEFAULT