All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.damap.base.annotations.gdpr.Gdpr Maven / Gradle / Ivy

There is a newer version: 4.3.0
Show newest version
package org.damap.base.annotations.gdpr;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Marks a class that holds information that is subject to the EU General Data Protection
 * Regulation. {@code @Gdpr} is meant to be used in conjunction with {@link
 * org.damap.base.annotations.gdpr.GdprKey}, {@link org.damap.base.annotations.gdpr.GdprContext},
 * {@link org.damap.base.annotations.gdpr.GdprBase} and {@link
 * org.damap.base.annotations.gdpr.GdprExtended}, which mark all relevant fields in the class.
 *
 * 

A class annotated with {@code @Gdpr} must also contain exactly one field annotated with {@link * 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;
 * }
 * 
* *
*/ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Gdpr {}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy