diff --git a/src/main/java/org/javademos/init/Java14DemoLoader.java b/src/main/java/org/javademos/init/Java14DemoLoader.java index 731e96e8..98dd3936 100644 --- a/src/main/java/org/javademos/init/Java14DemoLoader.java +++ b/src/main/java/org/javademos/init/Java14DemoLoader.java @@ -5,6 +5,7 @@ import org.javademos.commons.IDemo; import org.javademos.commons.IDemoLoader; import org.javademos.java14.jep305.InstanceofPatternMatchingPreview; +import org.javademos.java14.jep358.NullPointerDemo; import org.javademos.java14.jep359.RecordsPreviewDemo; import org.javademos.java14.jep361.SwitchExpressionsDemo; import org.javademos.java14.jep370.ForeignMemoryAccessDemo; @@ -16,9 +17,10 @@ public class Java14DemoLoader implements IDemoLoader { @Override public void loadDemos(Map demos) { - demos.put(305, new InstanceofPatternMatchingPreview()); - demos.put(359, new RecordsPreviewDemo()); - demos.put(361, new SwitchExpressionsDemo()); - demos.put(370, new ForeignMemoryAccessDemo()); + demos.put(305, new InstanceofPatternMatchingPreview()); // JEP 305 + demos.put(358, new NullPointerDemo()); // JEP 358 + demos.put(359, new RecordsPreviewDemo()); // JEP 359 + demos.put(361, new SwitchExpressionsDemo()); // JEP 361 + demos.put(370, new ForeignMemoryAccessDemo()); // JEP 370 } } diff --git a/src/main/java/org/javademos/java17/nullpointer/NullPointerDemo.java b/src/main/java/org/javademos/java14/jep358/NullPointerDemo.java similarity index 90% rename from src/main/java/org/javademos/java17/nullpointer/NullPointerDemo.java rename to src/main/java/org/javademos/java14/jep358/NullPointerDemo.java index bc33cbe6..77bfdf6d 100644 --- a/src/main/java/org/javademos/java17/nullpointer/NullPointerDemo.java +++ b/src/main/java/org/javademos/java14/jep358/NullPointerDemo.java @@ -1,4 +1,4 @@ -package org.javademos.java17.nullpointer; +package org.javademos.java14.jep358; import org.javademos.commons.IDemo; @@ -10,13 +10,13 @@ /// Further reading: /// - [Java 14 NullPointerException](https://www.baeldung.com/java-14-nullpointerexception) /// -/// @author alois.seckar@gmail.com +/// @author Abhineshhh @SuppressWarnings("null") // we are deliberately invoking `NullPointerException` in this demo public class NullPointerDemo implements IDemo { @Override public void demo() { - info("NULL POINTER DEMO", "Examples of 'helpful NullPointer' errors\nintroduced in Java 14"); + info(358); try { // this will raise NullPointerException, but with helpful hint diff --git a/src/main/java/org/javademos/java17/nullpointer/NullPointerLevel1.java b/src/main/java/org/javademos/java14/jep358/NullPointerLevel1.java similarity index 86% rename from src/main/java/org/javademos/java17/nullpointer/NullPointerLevel1.java rename to src/main/java/org/javademos/java14/jep358/NullPointerLevel1.java index 3dea7030..14323ddc 100644 --- a/src/main/java/org/javademos/java17/nullpointer/NullPointerLevel1.java +++ b/src/main/java/org/javademos/java14/jep358/NullPointerLevel1.java @@ -1,4 +1,4 @@ -package org.javademos.java17.nullpointer; +package org.javademos.java14.jep358; import lombok.Getter; @@ -7,7 +7,7 @@ * Here we have 4-level nested class structure and somewhere on the way * one element is 'null', so invoking method on it will raise 'NullPointer'. * - * @author alois.seckar@gmail.com + * @author Abhineshhh */ public class NullPointerLevel1 { diff --git a/src/main/java/org/javademos/java17/nullpointer/NullPointerLevel2.java b/src/main/java/org/javademos/java14/jep358/NullPointerLevel2.java similarity index 87% rename from src/main/java/org/javademos/java17/nullpointer/NullPointerLevel2.java rename to src/main/java/org/javademos/java14/jep358/NullPointerLevel2.java index 3ea65d3b..02f5ae70 100644 --- a/src/main/java/org/javademos/java17/nullpointer/NullPointerLevel2.java +++ b/src/main/java/org/javademos/java14/jep358/NullPointerLevel2.java @@ -1,4 +1,4 @@ -package org.javademos.java17.nullpointer; +package org.javademos.java14.jep358; import lombok.Getter; @@ -7,7 +7,7 @@ * Here we have 4-level nested class structure and somewhere on the way * one element is 'null', so invoking method on it will raise 'NullPointer'. * - * @author alois.seckar@gmail.com + * @author Abhineshhh */ public class NullPointerLevel2 { diff --git a/src/main/java/org/javademos/java17/nullpointer/NullPointerLevel3.java b/src/main/java/org/javademos/java14/jep358/NullPointerLevel3.java similarity index 87% rename from src/main/java/org/javademos/java17/nullpointer/NullPointerLevel3.java rename to src/main/java/org/javademos/java14/jep358/NullPointerLevel3.java index 05835b61..3f5aa3fa 100644 --- a/src/main/java/org/javademos/java17/nullpointer/NullPointerLevel3.java +++ b/src/main/java/org/javademos/java14/jep358/NullPointerLevel3.java @@ -1,4 +1,4 @@ -package org.javademos.java17.nullpointer; +package org.javademos.java14.jep358; import lombok.Getter; @@ -7,7 +7,7 @@ * Here we have 4-level nested class structure and somewhere on the way * one element is 'null', so invoking method on it will raise 'NullPointer'. * - * @author alois.seckar@gmail.com + * @author Abhineshhh */ public class NullPointerLevel3 { diff --git a/src/main/java/org/javademos/java17/nullpointer/NullPointerLevel4.java b/src/main/java/org/javademos/java14/jep358/NullPointerLevel4.java similarity index 81% rename from src/main/java/org/javademos/java17/nullpointer/NullPointerLevel4.java rename to src/main/java/org/javademos/java14/jep358/NullPointerLevel4.java index e6b0370a..a4a0f249 100644 --- a/src/main/java/org/javademos/java17/nullpointer/NullPointerLevel4.java +++ b/src/main/java/org/javademos/java14/jep358/NullPointerLevel4.java @@ -1,11 +1,11 @@ -package org.javademos.java17.nullpointer; +package org.javademos.java14.jep358; /** * Simple class to show 'helpful' NullPointerExceptions from Java 14. * Here we have 4-level nested class structure and somewhere on the way * one element is 'null', so invoking method on it will raise 'NullPointer'. * - * @author alois.seckar@gmail.com + * @author Abhineshhh */ public class NullPointerLevel4 { diff --git a/src/main/resources/JDK14Info.json b/src/main/resources/JDK14Info.json index d0ef0e39..a553f2b8 100644 --- a/src/main/resources/JDK14Info.json +++ b/src/main/resources/JDK14Info.json @@ -7,6 +7,14 @@ "link": true, "code": false }, + { + "jep": 358, + "jdk": 14, + "name": "JEP 358 - Helpful NullPointerExceptions", + "dscr": "Enhances NullPointerExceptions to describe precisely which variable was null", + "link": false, + "code": true + }, { "jep": 359, "jdk": 14,