Annotation Interface Gdpr


@Target(TYPE) @Retention(RUNTIME) public @interface Gdpr
Marks a class that holds information that is subject to the EU General Data Protection Regulation. @Gdpr is meant to be used in conjunction with GdprKey, GdprContext, GdprBase and GdprExtended, which mark all relevant fields in the class.

A class annotated with @Gdpr must also contain exactly one field annotated with GdprKey.

Usage:

 @Gdpr
 public class MyEntity {

     @GdprKey
     String personId;

     @GdprContext
     String context;

     @GdprContext(properties = {"name", "project.title", "project.leader"})
     OtherEntity info;

     @GdprBase
     String name;

     @GdprExtended
     String role;
 }