From 3007ac7fff12b6964750836626bb1497997f6a21 Mon Sep 17 00:00:00 2001 From: syedaf Date: Sat, 5 Feb 2022 07:00:50 -0500 Subject: [PATCH] added Marker Annotation example 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 000000000..9781cf4c0 --- /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 000000000..01f9bc568 --- /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 000000000..a84d07c8d --- /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