From c593aae6e11a83cb6534a5ff4066cdd1963e2d72 Mon Sep 17 00:00:00 2001 From: syedaf Date: Wed, 9 Mar 2022 14:44:45 -0500 Subject: [PATCH] Added Marker Annotation example (#148) Added Marker Annotation example --- .../src/main/java/com/reflectoring/CSV.java | 11 +++++++++++ .../com/reflectoring/TestMarkerAnnotation.java | 16 ++++++++++++++++ .../main/java/com/reflectoring/XYZClient.java | 6 ++++++ 3 files changed, 33 insertions(+) create mode 100644 core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/CSV.java create mode 100644 core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestMarkerAnnotation.java create mode 100644 core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/XYZClient.java diff --git a/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/CSV.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/CSV.java new file mode 100644 index 0000000..9781cf4 --- /dev/null +++ b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/CSV.java @@ -0,0 +1,11 @@ +package com.reflectoring; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +public @interface CSV { +} \ No newline at end of file diff --git a/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestMarkerAnnotation.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestMarkerAnnotation.java new file mode 100644 index 0000000..01f9bc5 --- /dev/null +++ b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestMarkerAnnotation.java @@ -0,0 +1,16 @@ +package com.reflectoring; + +public class TestMarkerAnnotation { + + public static void main(String[] args) { + + XYZClient client = new XYZClient(); + Class clientClass = client.getClass(); + + if (clientClass.isAnnotationPresent(CSV.class)){ + System.out.println("Write client data to CSV."); + } else { + System.out.println("Write client data to Excel file."); + } + } +} diff --git a/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/XYZClient.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/XYZClient.java new file mode 100644 index 0000000..a84d07c --- /dev/null +++ b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/XYZClient.java @@ -0,0 +1,6 @@ +package com.reflectoring; + +@CSV +public class XYZClient { + +} \ No newline at end of file