org.damap.base.annotations.gdpr.Gdpr Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of base Show documentation
Show all versions of base Show documentation
A tool for machine actionable DMPs.
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 {}