diff --git a/build-all.sh b/build-all.sh
index 75a51ac..d7b7892 100755
--- a/build-all.sh
+++ b/build-all.sh
@@ -82,6 +82,20 @@ build_maven_module() {
}
}
+
+if [[ "$MODULE" == "module7" ]]
+then
+ # ADD NEW MODULES HERE
+ # (add new modules above the rest so you get quicker feedback if it fails)
+ build_maven_module "core-java/annotation-processing/introduction-to-annotations"
+
+ echo ""
+ echo "+++"
+ echo "+++ MODULE 7 SUCCESSFUL"
+ echo "+++"
+fi
+
+
if [[ "$MODULE" == "module6" ]]
then
# ADD NEW MODULES HERE
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/AnnotationProcessorDemo.zip b/core-java/annotation-processing/AnnotationProcessorDemo/AnnotationProcessorDemo.zip
deleted file mode 100644
index 9a531ad..0000000
Binary files a/core-java/annotation-processing/AnnotationProcessorDemo/AnnotationProcessorDemo.zip and /dev/null differ
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/pom.xml b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/pom.xml
deleted file mode 100644
index 9a03f4d..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
- AnnotationProcessorDemo
- com.reflectoring.annotation.processor
- 1.0
-
-
- 4.0.0
- com.reflectoring.annotation.processor
- annotation-processor
- 1.0
-
-
- 11
- 11
-
-
-
-
- com.google.auto.service
- auto-service
- 1.0.1
- provided
-
-
-
- com.squareup
- javapoet
- 1.9.0
-
-
- org.apache.commons
- commons-text
- 1.9
-
-
-
-
-
\ No newline at end of file
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/src/main/java/com/reflectoring/annotation/processor/Builder.java b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/src/main/java/com/reflectoring/annotation/processor/Builder.java
deleted file mode 100644
index 9f61e77..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/src/main/java/com/reflectoring/annotation/processor/Builder.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.reflectoring.annotation.processor;
-
-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.SOURCE)
-public @interface Builder {
-}
\ No newline at end of file
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/src/main/java/com/reflectoring/annotation/processor/BuilderProcessor.java b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/src/main/java/com/reflectoring/annotation/processor/BuilderProcessor.java
deleted file mode 100644
index b2a9a3e..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/src/main/java/com/reflectoring/annotation/processor/BuilderProcessor.java
+++ /dev/null
@@ -1,249 +0,0 @@
-package com.reflectoring.annotation.processor;
-
-import com.google.auto.service.AutoService;
-import com.squareup.javapoet.*;
-import org.apache.commons.text.CaseUtils;
-
-import javax.annotation.processing.*;
-import javax.lang.model.SourceVersion;
-import javax.lang.model.element.Element;
-import javax.lang.model.element.ElementKind;
-import javax.lang.model.element.Modifier;
-import javax.lang.model.element.TypeElement;
-import javax.lang.model.type.TypeMirror;
-import javax.lang.model.util.Elements;
-import javax.tools.Diagnostic;
-import javax.tools.JavaFileObject;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-@SupportedAnnotationTypes("com.reflectoring.annotation.processor.Builder")
-@SupportedSourceVersion(SourceVersion.RELEASE_11)
-@AutoService(Processor.class)
-public class BuilderProcessor extends AbstractProcessor {
-
- private Filer filer;
- private Messager messager;
- private Elements elementUtils;
-
- @Override
- public synchronized void init(ProcessingEnvironment processingEnv) {
-
- super.init(processingEnv);
- filer = processingEnv.getFiler();
- messager = processingEnv.getMessager();
- elementUtils = processingEnv.getElementUtils();
- }
-
- @Override
- public boolean process(Set extends TypeElement> annotations, RoundEnvironment roundEnv) {
-
- for (Element typeElement : roundEnv.getElementsAnnotatedWith(Builder.class)) {
-
- List fieldElements = typeElement.getEnclosedElements().stream().filter(e -> ElementKind.FIELD.equals(e.getKind())).collect(
- Collectors.toList());
-
- String packageName = elementUtils.getPackageOf(typeElement).getQualifiedName().toString();
- String className = typeElement.getSimpleName().toString();
- String builderName = String.format("%sBuilder", typeElement.getSimpleName().toString());
- String classVariableName = CaseUtils.toCamelCase(typeElement.getSimpleName().toString(), false, '_');
-
- try {
- //writeBuilderClass(packageName, className, classVariableName, builderName, fieldElements);
-
- writeJavaPoetBuilderClass(packageName, className, classVariableName, builderName, fieldElements, typeElement);
- } catch (IOException e) {
- messager.printMessage(Diagnostic.Kind.ERROR, "Failed to write file for element", typeElement);
- }
- }
-
- return true;
- }
-
- private String getBaseName(String name) {
-
- int lastPeriodIndex = name.lastIndexOf('.');
- if (lastPeriodIndex > 0) {
- name = name.substring(lastPeriodIndex + 1);
- }
-
- return name;
- }
-
- private void writeBuilderClass(String packageName, String className, String classVariableName, String builderName,
- List fieldElements) throws IOException {
-
- JavaFileObject builder = processingEnv.getFiler().createSourceFile(builderName);
-
- try (PrintWriter out = new PrintWriter(builder.openWriter())) {
-
- // Write the Package name
- out.print("package ");
- out.print(packageName);
- out.println(";");
- out.println();
-
- // Write the Class name
- out.print("public final class ");
- out.print(builderName);
- out.println(" {");
- out.println();
-
- // Write the Field names
- for (Element fieldElement : fieldElements) {
-
- TypeMirror typeMirror = fieldElement.asType();
-
- String fieldTypeName = getBaseName(typeMirror.toString());
- String fieldName = getBaseName(fieldElement.getSimpleName().toString());
-
- out.print("private ");
- out.print(fieldTypeName);
- out.print(" ");
- out.print(fieldName);
- out.print(";");
- out.println();
- }
-
- out.println();
-
- // Write the Setters
- for (Element fieldElement : fieldElements) {
-
- TypeMirror typeMirror = fieldElement.asType();
-
- String fieldTypeName = getBaseName(typeMirror.toString());
- String fieldName = getBaseName(fieldElement.getSimpleName().toString());
-
- out.print("public ");
- out.print(" ");
- out.print(builderName);
- out.print(" ");
- out.print(fieldName);
- out.print("(");
- out.print(fieldTypeName);
- out.print(" ");
- out.print(fieldName);
- out.print(") {");
- out.println();
- out.print(" this.");
- out.print(fieldName);
- out.print(" = ");
- out.print(fieldName);
- out.print(";");
- out.println();
- out.print(" return this;");
- out.println();
- out.print("}");
- out.println();
- out.println();
- }
-
- // Write the build function
- out.print("public ");
- out.print(" ");
- out.print(className);
- out.print(" build() {");
- out.println();
- out.print(" ");
- out.print(className);
- out.print(" ");
- out.print(classVariableName);
- out.print(" = new ");
- out.print(className);
- out.print("();");
- out.println();
-
- for (Element fieldElement : fieldElements) {
-
- TypeMirror typeMirror = fieldElement.asType();
-
- String fieldTypeName = getBaseName(typeMirror.toString());
- String fieldName = getBaseName(fieldElement.getSimpleName().toString());
-
- out.print(" ");
- out.print(classVariableName);
- out.print(".set");
- out.print(CaseUtils.toCamelCase(fieldName, true, '_'));
- out.print("(this.");
- out.print(fieldName);
- out.println(");");
- }
-
- out.println();
- out.print(" return ");
- out.print(classVariableName);
- out.print(";");
- out.println();
- out.println(" }");
- out.println("}");
- }
- }
-
- private void writeJavaPoetBuilderClass(String packageName, String className, String classVariableName, String builderName,
- List fieldElements, Element typeElement) throws IOException {
-
- ClassName builderType = ClassName.get(packageName, builderName);
-
- List fields = new ArrayList<>(fieldElements.size());
- List fieldSetters = new ArrayList<>(fieldElements.size());
-
- // Generate the fields and field setters
- generateFieldsAndSetters(fields, fieldSetters, fieldElements, builderType);
-
- TypeName targetType = TypeName.get(typeElement.asType());
-
- // Generate the build method
- MethodSpec buildMethod = generateBuildMethod(targetType, classVariableName, fields);
-
- TypeSpec builder = TypeSpec.classBuilder(builderType)
- .addModifiers(Modifier.PUBLIC, Modifier.FINAL)
- .addFields(fields)
- .addMethods(fieldSetters)
- .addMethod(buildMethod).build();
-
- JavaFile file = JavaFile.builder(builderType.packageName(), builder.toBuilder().build()).build();
-
- file.writeTo(filer);
- }
-
- private void generateFieldsAndSetters(List fields, List fieldSetters, List fieldElements, ClassName builderType){
-
- for (Element fieldElement : fieldElements) {
-
- TypeName typeName = TypeName.get(fieldElement.asType());
- String fieldName = getBaseName(fieldElement.getSimpleName().toString());
-
- fields.add(FieldSpec.builder(typeName, fieldName, Modifier.PRIVATE).build());
-
- fieldSetters.add(
- MethodSpec.methodBuilder(fieldName)
- .addModifiers(Modifier.PUBLIC)
- .returns(builderType)
- .addParameter(typeName, fieldName)
- .addStatement("this.$N = $N", fieldName, fieldName)
- .addStatement("return this").build());
- }
- }
-
- private MethodSpec generateBuildMethod(TypeName targetType, String variableName, List fields) {
-
- MethodSpec.Builder buildMethodBuilder = MethodSpec.methodBuilder("build")
- .addModifiers(Modifier.PUBLIC)
- .returns(targetType)
- .addStatement("$1T $2N = new $1T()", targetType, variableName);
-
- for (FieldSpec field : fields) {
-
- buildMethodBuilder.addStatement("$1N.set$2N(this.$3N)", variableName, CaseUtils.toCamelCase(field.name, true, '_'), field.name);
- }
-
- buildMethodBuilder.addStatement("return $N", variableName);
-
- return buildMethodBuilder.build();
- }
-}
\ No newline at end of file
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/annotation-processor-1.0.jar b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/annotation-processor-1.0.jar
deleted file mode 100644
index 6cc1fc1..0000000
Binary files a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/annotation-processor-1.0.jar and /dev/null differ
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/META-INF/services/javax.annotation.processing.Processor b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/META-INF/services/javax.annotation.processing.Processor
deleted file mode 100644
index 1cac61a..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/META-INF/services/javax.annotation.processing.Processor
+++ /dev/null
@@ -1 +0,0 @@
-com.reflectoring.annotation.processor.BuilderProcessor
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/com/reflectoring/annotation/processor/Builder.class b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/com/reflectoring/annotation/processor/Builder.class
deleted file mode 100644
index 48c352c..0000000
Binary files a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/com/reflectoring/annotation/processor/Builder.class and /dev/null differ
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/com/reflectoring/annotation/processor/BuilderProcessor.class b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/com/reflectoring/annotation/processor/BuilderProcessor.class
deleted file mode 100644
index 0ff9ae9..0000000
Binary files a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/classes/com/reflectoring/annotation/processor/BuilderProcessor.class and /dev/null differ
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-archiver/pom.properties b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-archiver/pom.properties
deleted file mode 100644
index b7f9629..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Generated by Maven
-#Wed Jan 26 14:56:24 EST 2022
-groupId=com.reflectoring.annotation.processor
-artifactId=annotation-processor
-version=1.0
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index ec5aeda..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
@@ -1,3 +0,0 @@
-META-INF\services\javax.annotation.processing.Processor
-com\reflectoring\annotation\processor\Builder.class
-com\reflectoring\annotation\processor\BuilderProcessor.class
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index 73a46ac..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1,2 +0,0 @@
-D:\Documents\IntelliJ Projects\AnnotationProcessorDemo\annotation-processor\src\main\java\com\reflectoring\annotation\processor\Builder.java
-D:\Documents\IntelliJ Projects\AnnotationProcessorDemo\annotation-processor\src\main\java\com\reflectoring\annotation\processor\BuilderProcessor.java
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/core-java/annotation-processing/AnnotationProcessorDemo/annotation-processor/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
deleted file mode 100644
index e69de29..0000000
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/pom.xml b/core-java/annotation-processing/AnnotationProcessorDemo/core/pom.xml
deleted file mode 100644
index 91011cb..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/pom.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- AnnotationProcessorDemo
- com.reflectoring.annotation.processor
- 1.0
-
-
- 4.0.0
- com.reflectoring.annotation.processor
- 1.0
- core
-
-
- 11
- 11
-
-
-
-
- com.reflectoring.annotation.processor
- annotation-processor
- 1.0
-
-
-
\ No newline at end of file
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/main/java/com/reflectoring/annotation/processor/Department.java b/core-java/annotation-processing/AnnotationProcessorDemo/core/src/main/java/com/reflectoring/annotation/processor/Department.java
deleted file mode 100644
index f1cc2fc..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/main/java/com/reflectoring/annotation/processor/Department.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.reflectoring.annotation.processor;
-
-public class Department {
-
- private int id;
- private String name;
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-}
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/main/java/com/reflectoring/annotation/processor/Employee.java b/core-java/annotation-processing/AnnotationProcessorDemo/core/src/main/java/com/reflectoring/annotation/processor/Employee.java
deleted file mode 100644
index 5d43340..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/main/java/com/reflectoring/annotation/processor/Employee.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.reflectoring.annotation.processor;
-
-public class Employee {
-
- private int id;
- private String department;
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getDepartment() {
- return department;
- }
-
- public void setDepartment(String department) {
- this.department = department;
- }
-}
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/BuilderTest.java b/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/BuilderTest.java
deleted file mode 100644
index 5e32f80..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/BuilderTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.test;
-
-import com.reflectoring.annotation.processor.Employee;
-
-public class BuilderTest {
-
- public static void main(String[] args) {
-
- Employee employee = new EmployeeBuilder()
- .department("Sales")
- .build();
-
- System.out.println("Employee dept: " + employee.getDepartment());
- }
-}
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/DepartmentBuilder.java b/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/DepartmentBuilder.java
deleted file mode 100644
index 5ceb5f0..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/DepartmentBuilder.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.test;
-
-import com.reflectoring.annotation.processor.Department;
-
-public final class DepartmentBuilder {
-
-private int id;
-private String name;
-
-public DepartmentBuilder id(int id) {
- this.id = id;
- return this;
-}
-
-public DepartmentBuilder name(String name) {
- this.name = name;
- return this;
-}
-
-public Department build() {
- Department department = new Department();
- department.setId(this.id);
- department.setName(this.name);
-
- return department;
- }
-}
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/EmployeeBuilder.java b/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/EmployeeBuilder.java
deleted file mode 100644
index f5b1711..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/src/test/java/com/test/EmployeeBuilder.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.test;
-
-import com.reflectoring.annotation.processor.Employee;
-
-public final class EmployeeBuilder {
-
-private int id;
-private String department;
-
-public EmployeeBuilder id(int id) {
- this.id = id;
- return this;
-}
-
-public EmployeeBuilder department(String department) {
- this.department = department;
- return this;
-}
-
-public Employee build() {
- Employee employee = new Employee();
- employee.setId(this.id);
- employee.setDepartment(this.department);
-
- return employee;
- }
-}
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/Department.class b/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/Department.class
deleted file mode 100644
index b500486..0000000
Binary files a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/Department.class and /dev/null differ
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/DepartmentBuilder.class b/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/DepartmentBuilder.class
deleted file mode 100644
index 29f7a2a..0000000
Binary files a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/DepartmentBuilder.class and /dev/null differ
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/Employee.class b/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/Employee.class
deleted file mode 100644
index a10a798..0000000
Binary files a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/Employee.class and /dev/null differ
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/EmployeeBuilder.class b/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/EmployeeBuilder.class
deleted file mode 100644
index 531bf84..0000000
Binary files a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/classes/com/reflectoring/annotation/processor/EmployeeBuilder.class and /dev/null differ
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/generated-sources/annotations/com/reflectoring/annotation/processor/DepartmentBuilder.java b/core-java/annotation-processing/AnnotationProcessorDemo/core/target/generated-sources/annotations/com/reflectoring/annotation/processor/DepartmentBuilder.java
deleted file mode 100644
index e628bf9..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/generated-sources/annotations/com/reflectoring/annotation/processor/DepartmentBuilder.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.reflectoring.annotation.processor;
-
-import java.lang.String;
-
-public final class DepartmentBuilder {
- private int id;
-
- private String name;
-
- public DepartmentBuilder id(int id) {
- this.id = id;
- return this;
- }
-
- public DepartmentBuilder name(String name) {
- this.name = name;
- return this;
- }
-
- public Department build() {
- Department department = new Department();
- department.setId(this.id);
- department.setName(this.name);
- return department;
- }
-}
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/generated-sources/annotations/com/reflectoring/annotation/processor/EmployeeBuilder.java b/core-java/annotation-processing/AnnotationProcessorDemo/core/target/generated-sources/annotations/com/reflectoring/annotation/processor/EmployeeBuilder.java
deleted file mode 100644
index 72be1f7..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/generated-sources/annotations/com/reflectoring/annotation/processor/EmployeeBuilder.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.reflectoring.annotation.processor;
-
-import java.lang.String;
-
-public final class EmployeeBuilder {
- private int id;
-
- private String department;
-
- public EmployeeBuilder id(int id) {
- this.id = id;
- return this;
- }
-
- public EmployeeBuilder department(String department) {
- this.department = department;
- return this;
- }
-
- public Employee build() {
- Employee employee = new Employee();
- employee.setId(this.id);
- employee.setDepartment(this.department);
- return employee;
- }
-}
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/core-java/annotation-processing/AnnotationProcessorDemo/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index 2507472..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
@@ -1,4 +0,0 @@
-com\reflectoring\annotation\processor\Employee.class
-com\reflectoring\annotation\processor\Department.class
-com\reflectoring\annotation\processor\EmployeeBuilder.class
-com\reflectoring\annotation\processor\DepartmentBuilder.class
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/core-java/annotation-processing/AnnotationProcessorDemo/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index 9f98748..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1,2 +0,0 @@
-D:\Documents\IntelliJ Projects\AnnotationProcessorDemo\core\src\main\java\com\reflectoring\annotation\processor\Employee.java
-D:\Documents\IntelliJ Projects\AnnotationProcessorDemo\core\src\main\java\com\reflectoring\annotation\processor\Department.java
diff --git a/core-java/annotation-processing/AnnotationProcessorDemo/pom.xml b/core-java/annotation-processing/AnnotationProcessorDemo/pom.xml
deleted file mode 100644
index 19e39f8..0000000
--- a/core-java/annotation-processing/AnnotationProcessorDemo/pom.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- 4.0.0
-
- com.reflectoring.annotation.processor
- AnnotationProcessorDemo
- pom
- 1.0
-
- core
- annotation-processor
-
-
-
- 11
- 11
-
-
-
\ No newline at end of file
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/AnnotatedMethods.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/AnnotatedMethods.class
deleted file mode 100644
index 9ccd8d3..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/AnnotatedMethods.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/BasicAnnotationTest.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/BasicAnnotationTest.class
deleted file mode 100644
index 5422514..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/BasicAnnotationTest.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/ClassRetention.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/ClassRetention.class
deleted file mode 100644
index 669b058..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/ClassRetention.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Company.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Company.class
deleted file mode 100644
index 51199b8..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Company.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/CustomAnnotatedEmployee.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/CustomAnnotatedEmployee.class
deleted file mode 100644
index dc0f7b0..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/CustomAnnotatedEmployee.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/CustomAnnotatedManager.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/CustomAnnotatedManager.class
deleted file mode 100644
index a1ad8c6..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/CustomAnnotatedManager.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/DeprecatedDemo.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/DeprecatedDemo.class
deleted file mode 100644
index e0ca105..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/DeprecatedDemo.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/DeprecatedDemoTest.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/DeprecatedDemoTest.class
deleted file mode 100644
index 5e54f1e..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/DeprecatedDemoTest.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Employee.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Employee.class
deleted file mode 100644
index e7bba87..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Employee.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/EmployeeRetentionAnnotation.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/EmployeeRetentionAnnotation.class
deleted file mode 100644
index a515f2b..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/EmployeeRetentionAnnotation.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/FunctionalInterfaceTest.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/FunctionalInterfaceTest.class
deleted file mode 100644
index 4dad59f..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/FunctionalInterfaceTest.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Manager.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Manager.class
deleted file mode 100644
index 952691f..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Manager.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/MultiValueAnnotatedEmployee.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/MultiValueAnnotatedEmployee.class
deleted file mode 100644
index 5c3e5ad..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/MultiValueAnnotatedEmployee.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/OverrideTest.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/OverrideTest.class
deleted file mode 100644
index e84cbb5..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/OverrideTest.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Print.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Print.class
deleted file mode 100644
index 221354e..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Print.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatableCompanies.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatableCompanies.class
deleted file mode 100644
index f2c1646..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatableCompanies.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatableCompany.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatableCompany.class
deleted file mode 100644
index de927cf..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatableCompany.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatedAnnotatedEmployee.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatedAnnotatedEmployee.class
deleted file mode 100644
index f8939e9..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RepeatedAnnotatedEmployee.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RetentionTest.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RetentionTest.class
deleted file mode 100644
index 7f0528f..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RetentionTest.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RuntimeRetention.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RuntimeRetention.class
deleted file mode 100644
index 4d1407c..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/RuntimeRetention.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SafeVarargsTest.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SafeVarargsTest.class
deleted file mode 100644
index 7ee3958..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SafeVarargsTest.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SingleValueAnnotatedEmployee.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SingleValueAnnotatedEmployee.class
deleted file mode 100644
index 999c285..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SingleValueAnnotatedEmployee.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SingleValueAnnotationCompany.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SingleValueAnnotationCompany.class
deleted file mode 100644
index 29ca9db..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SingleValueAnnotationCompany.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SourceRetention.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SourceRetention.class
deleted file mode 100644
index 9a04ae7..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SourceRetention.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SuppressWarningsDemo.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SuppressWarningsDemo.class
deleted file mode 100644
index 3c7e1c4..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/SuppressWarningsDemo.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Test.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Test.class
deleted file mode 100644
index 95b67d1..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/Test.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestAnnotatedMethods.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestAnnotatedMethods.class
deleted file mode 100644
index 3acb9c3..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestAnnotatedMethods.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestCustomAnnotatedEmployee.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestCustomAnnotatedEmployee.class
deleted file mode 100644
index e907370..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestCustomAnnotatedEmployee.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestCustomAnnotatedManager.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestCustomAnnotatedManager.class
deleted file mode 100644
index b242ec5..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestCustomAnnotatedManager.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestMultiValueAnnotatedEmployee.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestMultiValueAnnotatedEmployee.class
deleted file mode 100644
index 047b270..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestMultiValueAnnotatedEmployee.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestRepeatedAnnotation.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestRepeatedAnnotation.class
deleted file mode 100644
index 3ec29c4..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestRepeatedAnnotation.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestSingleValueAnnotatedEmployee.class b/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestSingleValueAnnotatedEmployee.class
deleted file mode 100644
index 15f3342..0000000
Binary files a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/target/classes/com/reflectoring/TestSingleValueAnnotatedEmployee.class and /dev/null differ
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/pom.xml b/core-java/annotation-processing/introduction-to-annotations/pom.xml
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/pom.xml
rename to core-java/annotation-processing/introduction-to-annotations/pom.xml
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/AnnotatedMethods.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/AnnotatedMethods.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/AnnotatedMethods.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/AnnotatedMethods.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/BasicAnnotationTest.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/BasicAnnotationTest.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/BasicAnnotationTest.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/BasicAnnotationTest.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/ClassRetention.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/ClassRetention.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/ClassRetention.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/ClassRetention.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/Company.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/Company.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/Company.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/Company.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/CustomAnnotatedEmployee.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/CustomAnnotatedEmployee.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/CustomAnnotatedEmployee.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/CustomAnnotatedEmployee.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/CustomAnnotatedManager.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/CustomAnnotatedManager.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/CustomAnnotatedManager.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/CustomAnnotatedManager.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/DeprecatedDemo.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/DeprecatedDemo.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/DeprecatedDemo.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/DeprecatedDemo.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/DeprecatedDemoTest.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/DeprecatedDemoTest.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/DeprecatedDemoTest.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/DeprecatedDemoTest.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/Employee.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/Employee.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/Employee.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/Employee.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/EmployeeRetentionAnnotation.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/EmployeeRetentionAnnotation.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/EmployeeRetentionAnnotation.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/EmployeeRetentionAnnotation.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/FunctionalInterfaceTest.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/FunctionalInterfaceTest.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/FunctionalInterfaceTest.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/FunctionalInterfaceTest.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/Manager.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/Manager.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/Manager.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/Manager.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/MultiValueAnnotatedEmployee.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/MultiValueAnnotatedEmployee.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/MultiValueAnnotatedEmployee.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/MultiValueAnnotatedEmployee.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/OverrideTest.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/OverrideTest.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/OverrideTest.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/OverrideTest.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RepeatableCompanies.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RepeatableCompanies.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RepeatableCompanies.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RepeatableCompanies.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RepeatableCompany.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RepeatableCompany.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RepeatableCompany.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RepeatableCompany.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RepeatedAnnotatedEmployee.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RepeatedAnnotatedEmployee.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RepeatedAnnotatedEmployee.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RepeatedAnnotatedEmployee.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RetentionTest.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RetentionTest.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RetentionTest.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RetentionTest.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RuntimeRetention.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RuntimeRetention.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/RuntimeRetention.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/RuntimeRetention.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SafeVarargsTest.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SafeVarargsTest.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SafeVarargsTest.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SafeVarargsTest.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SingleValueAnnotatedEmployee.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SingleValueAnnotatedEmployee.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SingleValueAnnotatedEmployee.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SingleValueAnnotatedEmployee.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SingleValueAnnotationCompany.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SingleValueAnnotationCompany.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SingleValueAnnotationCompany.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SingleValueAnnotationCompany.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SourceRetention.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SourceRetention.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SourceRetention.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SourceRetention.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SuppressWarningsDemo.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SuppressWarningsDemo.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/SuppressWarningsDemo.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/SuppressWarningsDemo.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/Test.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/Test.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/Test.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/Test.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestAnnotatedMethods.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestAnnotatedMethods.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestAnnotatedMethods.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestAnnotatedMethods.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestCustomAnnotatedEmployee.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestCustomAnnotatedEmployee.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestCustomAnnotatedEmployee.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestCustomAnnotatedEmployee.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestCustomAnnotatedManager.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestCustomAnnotatedManager.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestCustomAnnotatedManager.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestCustomAnnotatedManager.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestMultiValueAnnotatedEmployee.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestMultiValueAnnotatedEmployee.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestMultiValueAnnotatedEmployee.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestMultiValueAnnotatedEmployee.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestRepeatedAnnotation.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestRepeatedAnnotation.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestRepeatedAnnotation.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestRepeatedAnnotation.java
diff --git a/core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestSingleValueAnnotatedEmployee.java b/core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestSingleValueAnnotatedEmployee.java
similarity index 100%
rename from core-java/annotation-processing/introduction-to-annotations/annotations-demo/src/main/java/com/reflectoring/TestSingleValueAnnotatedEmployee.java
rename to core-java/annotation-processing/introduction-to-annotations/src/main/java/com/reflectoring/TestSingleValueAnnotatedEmployee.java