diff --git a/core-java-modules/core-java-lang-5/pom.xml b/core-java-modules/core-java-lang-5/pom.xml index 767ebb6e35..e3130632fb 100644 --- a/core-java-modules/core-java-lang-5/pom.xml +++ b/core-java-modules/core-java-lang-5/pom.xml @@ -29,19 +29,4 @@ - - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - - org.reflections - reflections - ${reflections.version} - - - \ No newline at end of file diff --git a/core-java-modules/core-java-lang-6/pom.xml b/core-java-modules/core-java-lang-6/pom.xml new file mode 100644 index 0000000000..4c76c9290f --- /dev/null +++ b/core-java-modules/core-java-lang-6/pom.xml @@ -0,0 +1,46 @@ + + + 4.0.0 + core-java-lang-6 + 0.1.0-SNAPSHOT + core-java-lang-6 + jar + + + com.baeldung.core-java-modules + core-java-modules + 0.0.1-SNAPSHOT + + + + 3.12.0 + 0.10.2 + + + + + core-java-lang-6 + + + src/main/resources + true + + + + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + org.reflections + reflections + ${reflections.version} + + + \ No newline at end of file diff --git a/core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/ChildClass1.java b/core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/ChildClass1.java similarity index 100% rename from core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/ChildClass1.java rename to core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/ChildClass1.java diff --git a/core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/ChildClass2.java b/core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/ChildClass2.java similarity index 100% rename from core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/ChildClass2.java rename to core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/ChildClass2.java diff --git a/core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/ChildInterface1.java b/core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/ChildInterface1.java similarity index 100% rename from core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/ChildInterface1.java rename to core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/ChildInterface1.java diff --git a/core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/ChildInterface2.java b/core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/ChildInterface2.java similarity index 100% rename from core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/ChildInterface2.java rename to core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/ChildInterface2.java diff --git a/core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/MasterClass.java b/core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/MasterClass.java similarity index 100% rename from core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/MasterClass.java rename to core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/MasterClass.java diff --git a/core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/MasterInterface.java b/core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/MasterInterface.java similarity index 100% rename from core-java-modules/core-java-lang-5/src/main/java/com/baeldung/checkinterface/MasterInterface.java rename to core-java-modules/core-java-lang-6/src/main/java/com/baeldung/checkinterface/MasterInterface.java diff --git a/core-java-modules/core-java-lang-5/src/test/java/com/baeldung/checkinterface/CheckInterfaceUnitTest.java b/core-java-modules/core-java-lang-6/src/test/java/com/baeldung/checkinterface/CheckInterfaceUnitTest.java similarity index 97% rename from core-java-modules/core-java-lang-5/src/test/java/com/baeldung/checkinterface/CheckInterfaceUnitTest.java rename to core-java-modules/core-java-lang-6/src/test/java/com/baeldung/checkinterface/CheckInterfaceUnitTest.java index dcbbb7eb05..3a72cdf0db 100644 --- a/core-java-modules/core-java-lang-5/src/test/java/com/baeldung/checkinterface/CheckInterfaceUnitTest.java +++ b/core-java-modules/core-java-lang-6/src/test/java/com/baeldung/checkinterface/CheckInterfaceUnitTest.java @@ -1,154 +1,154 @@ -package com.baeldung.checkinterface; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.commons.lang3.ClassUtils; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; -import org.reflections.ReflectionUtils; -import org.reflections.Reflections; - -public class CheckInterfaceUnitTest { - - protected static Reflections reflections; - - @BeforeAll - public static void initializeReflectionsLibrary() { - - reflections = new Reflections("com.baeldung.checkinterface"); - } - - @Test - public void whenUsingReflectionGetInterfaces_thenDirectlyImplementedInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - List> interfaces = Arrays.asList(childClass2.getClass().getInterfaces()); - - assertEquals(1, interfaces.size()); - assertTrue(interfaces.contains(ChildInterface2.class)); - } - - @Test - public void whenUsingReflectionGetInterfaces_thenParentInterfaceIsNotFound() { - - ChildClass2 childClass2 = new ChildClass2(); - List> interfaces = Arrays.asList(childClass2.getClass().getInterfaces()); - - assertFalse(interfaces.contains(MasterInterface.class)); - } - - @Test - public void whenUsingReflectionGetInterfacesRecursively_thenParentInterfaceIsFound() { - - Set> interfaces = getAllExtendedOrImplementedInterfacesRecursively(ChildClass2.class); - - assertTrue(interfaces.contains(ChildInterface2.class)); - assertTrue(interfaces.contains(MasterInterface.class)); - } - - @Test - public void whenUsingReflectionIsAssignableFrom_thenDirectlyImplementedInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - - assertTrue(ChildInterface2.class.isAssignableFrom(childClass2.getClass())); - } - - @Test - public void whenUsingReflectionIsAssignableFrom_thenParentInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - - assertTrue(MasterInterface.class.isAssignableFrom(childClass2.getClass())); - } - - @Test - public void whenUsingReflectionIsInstance_thenDirectlyImplementedInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - - assertTrue(ChildInterface2.class.isInstance(childClass2)); - } - - @Test - public void whenUsingReflectionIsInstance_thenParentInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - - assertTrue(MasterInterface.class.isInstance(childClass2)); - } - - @Test - public void whenUsingReflectionInstanceOf_thenDirectlyImplementedInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - - assertTrue(childClass2 instanceof ChildInterface2); - } - - @Test - public void whenUsingReflectionInstanceOf_thenParentInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - - assertTrue(childClass2 instanceof MasterInterface); - } - - @Test - public void whenUsingCommons_thenDirectlyImplementedInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - List> interfaces = ClassUtils.getAllInterfaces(childClass2.getClass()); - - assertTrue(interfaces.contains(ChildInterface2.class)); - } - - @Test - public void whenUsingCommons_thenParentInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - List> interfaces = ClassUtils.getAllInterfaces(childClass2.getClass()); - - assertTrue(interfaces.contains(MasterInterface.class)); - } - - @Test - public void whenUsingReflections_thenDirectlyImplementedInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - Set> interfaces = reflections.get(ReflectionUtils.Interfaces.of(childClass2.getClass())); - - assertTrue(interfaces.contains(ChildInterface2.class)); - } - - @Test - public void whenUsingReflections_thenParentInterfaceIsFound() { - - ChildClass2 childClass2 = new ChildClass2(); - Set> interfaces = reflections.get(ReflectionUtils.Interfaces.of(childClass2.getClass())); - - assertTrue(interfaces.contains(MasterInterface.class)); - } - - static Set> getAllExtendedOrImplementedInterfacesRecursively(Class clazz) { - - Set> res = new HashSet>(); - Class[] interfaces = clazz.getInterfaces(); - - if (interfaces.length > 0) { - res.addAll(Arrays.asList(interfaces)); - for (Class interfaze : interfaces) { - res.addAll(getAllExtendedOrImplementedInterfacesRecursively(interfaze)); - } - } - - return res; - } -} +package com.baeldung.checkinterface; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.apache.commons.lang3.ClassUtils; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.reflections.ReflectionUtils; +import org.reflections.Reflections; + +public class CheckInterfaceUnitTest { + + protected static Reflections reflections; + + @BeforeAll + public static void initializeReflectionsLibrary() { + + reflections = new Reflections("com.baeldung.checkinterface"); + } + + @Test + public void whenUsingReflectionGetInterfaces_thenDirectlyImplementedInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + List> interfaces = Arrays.asList(childClass2.getClass().getInterfaces()); + + assertEquals(1, interfaces.size()); + assertTrue(interfaces.contains(ChildInterface2.class)); + } + + @Test + public void whenUsingReflectionGetInterfaces_thenParentInterfaceIsNotFound() { + + ChildClass2 childClass2 = new ChildClass2(); + List> interfaces = Arrays.asList(childClass2.getClass().getInterfaces()); + + assertFalse(interfaces.contains(MasterInterface.class)); + } + + @Test + public void whenUsingReflectionGetInterfacesRecursively_thenParentInterfaceIsFound() { + + Set> interfaces = getAllExtendedOrImplementedInterfacesRecursively(ChildClass2.class); + + assertTrue(interfaces.contains(ChildInterface2.class)); + assertTrue(interfaces.contains(MasterInterface.class)); + } + + @Test + public void whenUsingReflectionIsAssignableFrom_thenDirectlyImplementedInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + + assertTrue(ChildInterface2.class.isAssignableFrom(childClass2.getClass())); + } + + @Test + public void whenUsingReflectionIsAssignableFrom_thenParentInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + + assertTrue(MasterInterface.class.isAssignableFrom(childClass2.getClass())); + } + + @Test + public void whenUsingReflectionIsInstance_thenDirectlyImplementedInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + + assertTrue(ChildInterface2.class.isInstance(childClass2)); + } + + @Test + public void whenUsingReflectionIsInstance_thenParentInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + + assertTrue(MasterInterface.class.isInstance(childClass2)); + } + + @Test + public void whenUsingReflectionInstanceOf_thenDirectlyImplementedInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + + assertTrue(childClass2 instanceof ChildInterface2); + } + + @Test + public void whenUsingReflectionInstanceOf_thenParentInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + + assertTrue(childClass2 instanceof MasterInterface); + } + + @Test + public void whenUsingCommons_thenDirectlyImplementedInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + List> interfaces = ClassUtils.getAllInterfaces(childClass2.getClass()); + + assertTrue(interfaces.contains(ChildInterface2.class)); + } + + @Test + public void whenUsingCommons_thenParentInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + List> interfaces = ClassUtils.getAllInterfaces(childClass2.getClass()); + + assertTrue(interfaces.contains(MasterInterface.class)); + } + + @Test + public void whenUsingReflections_thenDirectlyImplementedInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + Set> interfaces = reflections.get(ReflectionUtils.Interfaces.of(childClass2.getClass())); + + assertTrue(interfaces.contains(ChildInterface2.class)); + } + + @Test + public void whenUsingReflections_thenParentInterfaceIsFound() { + + ChildClass2 childClass2 = new ChildClass2(); + Set> interfaces = reflections.get(ReflectionUtils.Interfaces.of(childClass2.getClass())); + + assertTrue(interfaces.contains(MasterInterface.class)); + } + + static Set> getAllExtendedOrImplementedInterfacesRecursively(Class clazz) { + + Set> res = new HashSet>(); + Class[] interfaces = clazz.getInterfaces(); + + if (interfaces.length > 0) { + res.addAll(Arrays.asList(interfaces)); + for (Class interfaze : interfaces) { + res.addAll(getAllExtendedOrImplementedInterfacesRecursively(interfaze)); + } + } + + return res; + } +}