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