diff --git a/.gitignore b/.gitignore index 524f096..2740089 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +.idea/ +*.iml + # Compiled class file *.class diff --git a/java26/LazyConstants_1.snippet b/java27/LazyConstants_1.snippet similarity index 100% rename from java26/LazyConstants_1.snippet rename to java27/LazyConstants_1.snippet diff --git a/java26/LazyConstants_2.snippet b/java27/LazyConstants_2.snippet similarity index 100% rename from java26/LazyConstants_2.snippet rename to java27/LazyConstants_2.snippet diff --git a/java26/LazyConstants_3.snippet b/java27/LazyConstants_3.snippet similarity index 100% rename from java26/LazyConstants_3.snippet rename to java27/LazyConstants_3.snippet diff --git a/java26/LazyConstants_4.snippet b/java27/LazyConstants_4.snippet similarity index 100% rename from java26/LazyConstants_4.snippet rename to java27/LazyConstants_4.snippet diff --git a/java27/LazyConstants_5.snippet b/java27/LazyConstants_5.snippet new file mode 100644 index 0000000..acde7e5 --- /dev/null +++ b/java27/LazyConstants_5.snippet @@ -0,0 +1,24 @@ +// Lazy Constants as Sets +enum Days { + MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY +} + +String validDays = "MONDAY THURSDAY SUNDAY"; + +class Wrapper { + static final Set VALID_DAY = + Set.ofLazy( + EnumSet.allOf(Days.class), + day -> { + IO.println("Checking day: " + day); + return validDays.contains(day.name()); + }); +} + +IO.println("Valid days are " + validDays); +var isMondayValid = Wrapper.VALID_DAY.contains(Days.MONDAY); +IO.println("Contains Monday: " + isMondayValid); +IO.println("Contains Monday (no more check): " + isMondayValid); +validDays = "TUESDAY THURSDAY SATURDAY"; +IO.println("Updating valid days to " + validDays); +IO.println("Contains Monday (no more check): " + isMondayValid); diff --git a/java26/LazyConstants_5.snippet b/java27/LazyConstants_6.snippet similarity index 100% rename from java26/LazyConstants_5.snippet rename to java27/LazyConstants_6.snippet diff --git a/java26/PrimitiveTypePatterns_1.snippet b/java27/PrimitiveTypePatterns_1.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_1.snippet rename to java27/PrimitiveTypePatterns_1.snippet diff --git a/java26/PrimitiveTypePatterns_10.snippet b/java27/PrimitiveTypePatterns_10.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_10.snippet rename to java27/PrimitiveTypePatterns_10.snippet diff --git a/java26/PrimitiveTypePatterns_2.snippet b/java27/PrimitiveTypePatterns_2.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_2.snippet rename to java27/PrimitiveTypePatterns_2.snippet diff --git a/java26/PrimitiveTypePatterns_3.snippet b/java27/PrimitiveTypePatterns_3.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_3.snippet rename to java27/PrimitiveTypePatterns_3.snippet diff --git a/java26/PrimitiveTypePatterns_4.snippet b/java27/PrimitiveTypePatterns_4.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_4.snippet rename to java27/PrimitiveTypePatterns_4.snippet diff --git a/java26/PrimitiveTypePatterns_5.snippet b/java27/PrimitiveTypePatterns_5.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_5.snippet rename to java27/PrimitiveTypePatterns_5.snippet diff --git a/java26/PrimitiveTypePatterns_6.snippet b/java27/PrimitiveTypePatterns_6.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_6.snippet rename to java27/PrimitiveTypePatterns_6.snippet diff --git a/java26/PrimitiveTypePatterns_7.snippet b/java27/PrimitiveTypePatterns_7.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_7.snippet rename to java27/PrimitiveTypePatterns_7.snippet diff --git a/java26/PrimitiveTypePatterns_8.snippet b/java27/PrimitiveTypePatterns_8.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_8.snippet rename to java27/PrimitiveTypePatterns_8.snippet diff --git a/java26/PrimitiveTypePatterns_9.snippet b/java27/PrimitiveTypePatterns_9.snippet similarity index 100% rename from java26/PrimitiveTypePatterns_9.snippet rename to java27/PrimitiveTypePatterns_9.snippet diff --git a/pg26menu.json b/pg27menu.json similarity index 86% rename from pg26menu.json rename to pg27menu.json index e371553..3bcbb82 100644 --- a/pg26menu.json +++ b/pg27menu.json @@ -152,78 +152,82 @@ { "category": "Primitive Type Pattern", "badge": { - "text": "Java 26", + "text": "Java 27", "type": "java-version" }, "subcategories": [ { "category": "… for instanceOf", - "source_uri": "java26/PrimitiveTypePatterns_1" + "source_uri": "java27/PrimitiveTypePatterns_1" }, { "category": "… for switch", - "source_uri": "java26/PrimitiveTypePatterns_2" + "source_uri": "java27/PrimitiveTypePatterns_2" }, { "category": "Narrowing Integer Number Primitive Pattern", - "source_uri": "java26/PrimitiveTypePatterns_3" + "source_uri": "java27/PrimitiveTypePatterns_3" }, { "category": "Narrowing Floating Point Number Primitive Pattern", - "source_uri": "java26/PrimitiveTypePatterns_4" + "source_uri": "java27/PrimitiveTypePatterns_4" }, { "category": "Integer Number to Floating Point Number Primitive Pattern", - "source_uri": "java26/PrimitiveTypePatterns_5" + "source_uri": "java27/PrimitiveTypePatterns_5" }, { "category": "Floating Point Number to Integer Number Primitive Pattern", - "source_uri": "java26/PrimitiveTypePatterns_6" + "source_uri": "java27/PrimitiveTypePatterns_6" }, { "category": "Double Number to Integer Number Primitive Pattern", - "source_uri": "java26/PrimitiveTypePatterns_7" + "source_uri": "java27/PrimitiveTypePatterns_7" }, { "category": "Boolean Primitive Pattern", - "source_uri": "java26/PrimitiveTypePatterns_8" + "source_uri": "java27/PrimitiveTypePatterns_8" }, { "category": "Double Primitive Pattern", - "source_uri": "java26/PrimitiveTypePatterns_9" + "source_uri": "java27/PrimitiveTypePatterns_9" }, { "category": "JSON Analysis", - "source_uri": "java26/PrimitiveTypePatterns_10" + "source_uri": "java27/PrimitiveTypePatterns_10" } ] }, { "category": "Lazy Constant", "badge": { - "text": "Java 26", + "text": "Java 27", "type": "java-version" }, "subcategories": [ { "category": "Static Initializers", - "source_uri": "java26/LazyConstants_1" + "source_uri": "java27/LazyConstants_1" }, { "category": "Enum Initializers", - "source_uri": "java26/LazyConstants_2" + "source_uri": "java27/LazyConstants_2" }, { "category": "… with Suppliers", - "source_uri": "java26/LazyConstants_3" + "source_uri": "java27/LazyConstants_3" }, { "category": "… as Lists", - "source_uri": "java26/LazyConstants_4" + "source_uri": "java27/LazyConstants_4" + }, + { + "category": "… as Sets", + "source_uri": "java27/LazyConstants_5" }, { "category": "… as Maps", - "source_uri": "java26/LazyConstants_5" + "source_uri": "java27/LazyConstants_6" } ] },