From 432ba3825636c09070ae218a82e238c55888ae6a Mon Sep 17 00:00:00 2001 From: Denys Makogon Date: Wed, 4 Feb 2026 13:54:21 +0100 Subject: [PATCH 1/4] Adding samples index --- samples_index.json | 281 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 samples_index.json diff --git a/samples_index.json b/samples_index.json new file mode 100644 index 0000000..50a2774 --- /dev/null +++ b/samples_index.json @@ -0,0 +1,281 @@ +[ + { + "category": "Hello World", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/HelloWorld.snippet", + "badge": { + "text": "Java 25", + "type": "java-version" + } + }, + { + "category": "Records", + "subcategories": [ + { + "category": "Simple record", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Record_1.snippet" + }, + { + "category": "Composing", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Record_2.snippet" + }, + { + "category": "Composing", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Record_2.snippet" + }, + { + "category": "Method overriding", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Record_3.snippet" + } + ] + }, + { + "category": "Unnamed Pattern", + "subcategories": [ + { + "category": "Consumer with Unnamed Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Unamed_Pattern_1.snippet" + }, + { + "category": "Function with Unnamed Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Unamed_Pattern_2.snippet" + }, + { + "category": "BiFunction with Unnamed Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Unamed_Pattern_3.snippet" + }, + { + "category": "Pattern Matching with Unnamed Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Unamed_Pattern_4.snippet" + } + ] + }, + { + "category": "Gatherers", + "subcategories": [ + { + "category": "Simple", + "subcategories": [ + { + "category": "Filtering", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_A1.snippet" + }, + { + "category": "Mapping", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_A2.snippet" + }, + { + "category": "Flatmapping", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_A3.snippet" + } + ] + }, + { + "category": "Intermediate", + "subcategories": [ + { + "category": "Map filter", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B1.snippet" + }, + { + "category": "Limit", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B3.snippet" + }, + { + "category": "Distinct", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B5.snippet" + }, + { + "category": "Sort Distinct", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B9.snippet" + }, + { + "category": "Distinct Ignore Case", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B11.snippet" + }, + { + "category": "Custom Equal", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B15.snippet" + }, + { + "category": "Custom Equal Collecting", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B17.snippet" + } + ] + }, + { + "category": "Combining", + "subcategories": [ + { + "category": "Zipping", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_D1.snippet" + }, + { + "category": "Zipping with Default Value", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_D2.snippet" + }, + { + "category": "Combining", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_D3.snippet" + }, + { + "category": "Combining with Default Value", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_D4.snippet" + } + ] + } + ] + }, + { + "category": "Switch and Sealed Types", + "subcategories": [ + { + "category": "Switch and Sealed Types", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_1.snippet" + }, + { + "category": "... with Record Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_2.snippet" + }, + { + "category": "... with Nested Record Patterns", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_3.snippet" + }, + { + "category": "... with Unnamed Patterns", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_4.snippet" + }, + { + "category": "... with Guarded Patterns", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_5.snippet" + } + ] + }, + { + "category": "Primitive Type Pattern", + "badge": { + "text": "Java 25", + "type": "java-version" + }, + "subcategories": [ + { + "category": "... for instanceOf", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_1.snippet" + }, + { + "category": "... for switch", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_2.snippet" + }, + { + "category": "Narrowing Integer Number Primitive Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_3.snippet" + }, + { + "category": "Integer Number to Floating Point Number Primitive Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_5.snippet" + }, + { + "category": "Floating Point Number to Integer Number Primitive Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_6.snippet" + }, + { + "category": "Double Number to Integer Number Primitive Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_7.snippet" + }, + { + "category": "Boolean Primitive Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_8.snippet" + }, + { + "category": "Double Primitive Pattern", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_9.snippet" + }, + { + "category": "JSON Analysis", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/PrimitiveTypePatterns_10.snippet" + } + ] + }, + { + "category": "Stable Values", + "badge": { + "text": "Java 25", + "type": "java-version" + }, + "subcategories": [ + { + "category": "Static Initializers", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_1.snippet" + }, + { + "category": "Enum Initializers", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_2.snippet" + }, + { + "category": "... with Suppliers", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_3.snippet" + }, + { + "category": "... with Factories", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_4.snippet" + }, + { + "category": "... as List", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_5.snippet" + }, + { + "category": "... as Map", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_6.snippet" + }, + { + "category": "... as Function", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_7.snippet" + }, + { + "category": "... as IntFunction", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_8.snippet" + } + ] + }, + { + "category": "Miscelaneous", + "subcategories": [ + { + "category": "Statement before super", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/StatementsBeforeSuper_1.snippet" + }, + { + "category": "Streams", + "subcategories": [ + { + "category": "Filtering", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Stream_1.snippet" + }, + { + "category": "Stream to List", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Stream_2.snippet" + }, + { + "category": "Text Block to Stream", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Stream_3.snippet" + } + ] + }, + { + "category": "Setting Scoped Values", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/ScopedValues_1.snippet", + "badge": { + "text": "Java 25", + "type": "java-version" + } + }, + { + "category": "Flexible Constructor Body", + "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/FlexibleConstructorBodies_2.snippet", + "badge": { + "text": "Java 25", + "type": "java-version" + } + } + ] + } +] \ No newline at end of file From d9803e95badf9495f9a782bc398fb903db38cc76 Mon Sep 17 00:00:00 2001 From: Denys Makogon Date: Thu, 5 Feb 2026 13:02:41 +0100 Subject: [PATCH 2/4] updating index structure --- samples_index.json | 102 ++++++++++++++++++++++----------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/samples_index.json b/samples_index.json index 50a2774..ba5a4cc 100644 --- a/samples_index.json +++ b/samples_index.json @@ -1,7 +1,7 @@ [ { "category": "Hello World", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/HelloWorld.snippet", + "source_uri": "java25/HelloWorld.snippet", "badge": { "text": "Java 25", "type": "java-version" @@ -12,19 +12,19 @@ "subcategories": [ { "category": "Simple record", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Record_1.snippet" + "source_uri": "java21/Record_1.snippet" }, { "category": "Composing", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Record_2.snippet" + "source_uri": "java21/Record_2.snippet" }, { "category": "Composing", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Record_2.snippet" + "source_uri": "java21/Record_2.snippet" }, { "category": "Method overriding", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Record_3.snippet" + "source_uri": "java21/Record_3.snippet" } ] }, @@ -33,19 +33,19 @@ "subcategories": [ { "category": "Consumer with Unnamed Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Unamed_Pattern_1.snippet" + "source_uri": "java22/Unamed_Pattern_1.snippet" }, { "category": "Function with Unnamed Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Unamed_Pattern_2.snippet" + "source_uri": "java22/Unamed_Pattern_2.snippet" }, { "category": "BiFunction with Unnamed Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Unamed_Pattern_3.snippet" + "source_uri": "java22/Unamed_Pattern_3.snippet" }, { "category": "Pattern Matching with Unnamed Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Unamed_Pattern_4.snippet" + "source_uri": "java22/Unamed_Pattern_4.snippet" } ] }, @@ -57,15 +57,15 @@ "subcategories": [ { "category": "Filtering", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_A1.snippet" + "source_uri": "java24/Gatherers_A1.snippet" }, { "category": "Mapping", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_A2.snippet" + "source_uri": "java24/Gatherers_A2.snippet" }, { "category": "Flatmapping", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_A3.snippet" + "source_uri": "java24/Gatherers_A3.snippet" } ] }, @@ -74,31 +74,31 @@ "subcategories": [ { "category": "Map filter", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B1.snippet" + "source_uri": "java24/Gatherers_B1.snippet" }, { "category": "Limit", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B3.snippet" + "source_uri": "java24/Gatherers_B3.snippet" }, { "category": "Distinct", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B5.snippet" + "source_uri": "java24/Gatherers_B5.snippet" }, { "category": "Sort Distinct", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B9.snippet" + "source_uri": "java24/Gatherers_B9.snippet" }, { "category": "Distinct Ignore Case", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B11.snippet" + "source_uri": "java24/Gatherers_B11.snippet" }, { "category": "Custom Equal", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B15.snippet" + "source_uri": "java24/Gatherers_B15.snippet" }, { "category": "Custom Equal Collecting", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_B17.snippet" + "source_uri": "java24/Gatherers_B17.snippet" } ] }, @@ -107,19 +107,19 @@ "subcategories": [ { "category": "Zipping", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_D1.snippet" + "source_uri": "java24/Gatherers_D1.snippet" }, { "category": "Zipping with Default Value", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_D2.snippet" + "source_uri": "java24/Gatherers_D2.snippet" }, { "category": "Combining", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_D3.snippet" + "source_uri": "java24/Gatherers_D3.snippet" }, { "category": "Combining with Default Value", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java24/Gatherers_D4.snippet" + "source_uri": "java24/Gatherers_D4.snippet" } ] } @@ -130,23 +130,23 @@ "subcategories": [ { "category": "Switch and Sealed Types", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_1.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_1.snippet" }, { "category": "... with Record Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_2.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_2.snippet" }, { "category": "... with Nested Record Patterns", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_3.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_3.snippet" }, { "category": "... with Unnamed Patterns", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_4.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_4.snippet" }, { "category": "... with Guarded Patterns", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/Switch_on_Sealled_Types_5.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_5.snippet" } ] }, @@ -159,39 +159,39 @@ "subcategories": [ { "category": "... for instanceOf", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_1.snippet" + "source_uri": "java23/Primitive_Type_Pattern_1.snippet" }, { "category": "... for switch", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_2.snippet" + "source_uri": "java23/Primitive_Type_Pattern_2.snippet" }, { "category": "Narrowing Integer Number Primitive Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_3.snippet" + "source_uri": "java23/Primitive_Type_Pattern_3.snippet" }, { "category": "Integer Number to Floating Point Number Primitive Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_5.snippet" + "source_uri": "java23/Primitive_Type_Pattern_5.snippet" }, { "category": "Floating Point Number to Integer Number Primitive Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_6.snippet" + "source_uri": "java23/Primitive_Type_Pattern_6.snippet" }, { "category": "Double Number to Integer Number Primitive Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_7.snippet" + "source_uri": "java23/Primitive_Type_Pattern_7.snippet" }, { "category": "Boolean Primitive Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_8.snippet" + "source_uri": "java23/Primitive_Type_Pattern_8.snippet" }, { "category": "Double Primitive Pattern", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java23/Primitive_Type_Pattern_9.snippet" + "source_uri": "java23/Primitive_Type_Pattern_9.snippet" }, { "category": "JSON Analysis", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/PrimitiveTypePatterns_10.snippet" + "source_uri": "java25/PrimitiveTypePatterns_10.snippet" } ] }, @@ -204,35 +204,35 @@ "subcategories": [ { "category": "Static Initializers", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_1.snippet" + "source_uri": "java25/StableValues_1.snippet" }, { "category": "Enum Initializers", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_2.snippet" + "source_uri": "java25/StableValues_2.snippet" }, { "category": "... with Suppliers", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_3.snippet" + "source_uri": "java25/StableValues_3.snippet" }, { "category": "... with Factories", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_4.snippet" + "source_uri": "java25/StableValues_4.snippet" }, { "category": "... as List", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_5.snippet" + "source_uri": "java25/StableValues_5.snippet" }, { "category": "... as Map", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_6.snippet" + "source_uri": "java25/StableValues_6.snippet" }, { "category": "... as Function", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_7.snippet" + "source_uri": "java25/StableValues_7.snippet" }, { "category": "... as IntFunction", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/StableValues_8.snippet" + "source_uri": "java25/StableValues_8.snippet" } ] }, @@ -241,28 +241,28 @@ "subcategories": [ { "category": "Statement before super", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java22/StatementsBeforeSuper_1.snippet" + "source_uri": "java22/StatementsBeforeSuper_1.snippet" }, { "category": "Streams", "subcategories": [ { "category": "Filtering", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Stream_1.snippet" + "source_uri": "java21/Stream_1.snippet" }, { "category": "Stream to List", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Stream_2.snippet" + "source_uri": "java21/Stream_2.snippet" }, { "category": "Text Block to Stream", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java21/Stream_3.snippet" + "source_uri": "java21/Stream_3.snippet" } ] }, { "category": "Setting Scoped Values", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/ScopedValues_1.snippet", + "source_uri": "java25/ScopedValues_1.snippet", "badge": { "text": "Java 25", "type": "java-version" @@ -270,7 +270,7 @@ }, { "category": "Flexible Constructor Body", - "source_url": "https://raw.githubusercontent.com/java/playground-snippets/main/java25/FlexibleConstructorBodies_2.snippet", + "source_uri": "java25/FlexibleConstructorBodies_2.snippet", "badge": { "text": "Java 25", "type": "java-version" From 553d702d2daab15e44d68f5c88c1a568676e5f84 Mon Sep 17 00:00:00 2001 From: Denys Makogon Date: Thu, 5 Feb 2026 15:03:21 +0100 Subject: [PATCH 3/4] updating index structure --- samples_index.json | 551 +++++++++++++++++++++++---------------------- 1 file changed, 277 insertions(+), 274 deletions(-) diff --git a/samples_index.json b/samples_index.json index ba5a4cc..c87beb3 100644 --- a/samples_index.json +++ b/samples_index.json @@ -1,281 +1,284 @@ -[ - { - "category": "Hello World", - "source_uri": "java25/HelloWorld.snippet", - "badge": { - "text": "Java 25", - "type": "java-version" - } - }, - { - "category": "Records", - "subcategories": [ - { - "category": "Simple record", - "source_uri": "java21/Record_1.snippet" - }, - { - "category": "Composing", - "source_uri": "java21/Record_2.snippet" - }, - { - "category": "Composing", - "source_uri": "java21/Record_2.snippet" - }, - { - "category": "Method overriding", - "source_uri": "java21/Record_3.snippet" - } - ] - }, - { - "category": "Unnamed Pattern", - "subcategories": [ - { - "category": "Consumer with Unnamed Pattern", - "source_uri": "java22/Unamed_Pattern_1.snippet" - }, - { - "category": "Function with Unnamed Pattern", - "source_uri": "java22/Unamed_Pattern_2.snippet" - }, - { - "category": "BiFunction with Unnamed Pattern", - "source_uri": "java22/Unamed_Pattern_3.snippet" - }, - { - "category": "Pattern Matching with Unnamed Pattern", - "source_uri": "java22/Unamed_Pattern_4.snippet" - } - ] - }, - { - "category": "Gatherers", - "subcategories": [ - { - "category": "Simple", - "subcategories": [ - { - "category": "Filtering", - "source_uri": "java24/Gatherers_A1.snippet" - }, - { - "category": "Mapping", - "source_uri": "java24/Gatherers_A2.snippet" - }, - { - "category": "Flatmapping", - "source_uri": "java24/Gatherers_A3.snippet" - } - ] - }, - { - "category": "Intermediate", - "subcategories": [ - { - "category": "Map filter", - "source_uri": "java24/Gatherers_B1.snippet" - }, - { - "category": "Limit", - "source_uri": "java24/Gatherers_B3.snippet" - }, - { - "category": "Distinct", - "source_uri": "java24/Gatherers_B5.snippet" - }, - { - "category": "Sort Distinct", - "source_uri": "java24/Gatherers_B9.snippet" - }, - { - "category": "Distinct Ignore Case", - "source_uri": "java24/Gatherers_B11.snippet" - }, - { - "category": "Custom Equal", - "source_uri": "java24/Gatherers_B15.snippet" - }, - { - "category": "Custom Equal Collecting", - "source_uri": "java24/Gatherers_B17.snippet" - } - ] - }, - { - "category": "Combining", - "subcategories": [ - { - "category": "Zipping", - "source_uri": "java24/Gatherers_D1.snippet" - }, - { - "category": "Zipping with Default Value", - "source_uri": "java24/Gatherers_D2.snippet" - }, - { - "category": "Combining", - "source_uri": "java24/Gatherers_D3.snippet" - }, - { - "category": "Combining with Default Value", - "source_uri": "java24/Gatherers_D4.snippet" - } - ] +{ + "base_url": "https://raw.githubusercontent.com/java/playground-snippets/refs/heads/samples-menu", + "menu_items": [ + { + "category": "Hello World", + "source_uri": "java25/HelloWorld.snippet", + "badge": { + "text": "Java 25", + "type": "java-version" } - ] - }, - { - "category": "Switch and Sealed Types", - "subcategories": [ - { - "category": "Switch and Sealed Types", - "source_uri": "java22/Switch_on_Sealled_Types_1.snippet" - }, - { - "category": "... with Record Pattern", - "source_uri": "java22/Switch_on_Sealled_Types_2.snippet" - }, - { - "category": "... with Nested Record Patterns", - "source_uri": "java22/Switch_on_Sealled_Types_3.snippet" - }, - { - "category": "... with Unnamed Patterns", - "source_uri": "java22/Switch_on_Sealled_Types_4.snippet" - }, - { - "category": "... with Guarded Patterns", - "source_uri": "java22/Switch_on_Sealled_Types_5.snippet" - } - ] - }, - { - "category": "Primitive Type Pattern", - "badge": { - "text": "Java 25", - "type": "java-version" }, - "subcategories": [ - { - "category": "... for instanceOf", - "source_uri": "java23/Primitive_Type_Pattern_1.snippet" - }, - { - "category": "... for switch", - "source_uri": "java23/Primitive_Type_Pattern_2.snippet" - }, - { - "category": "Narrowing Integer Number Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_3.snippet" - }, - { - "category": "Integer Number to Floating Point Number Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_5.snippet" - }, - { - "category": "Floating Point Number to Integer Number Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_6.snippet" - }, - { - "category": "Double Number to Integer Number Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_7.snippet" - }, - { - "category": "Boolean Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_8.snippet" - }, - { - "category": "Double Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_9.snippet" - }, - { - "category": "JSON Analysis", - "source_uri": "java25/PrimitiveTypePatterns_10.snippet" - } - ] - }, - { - "category": "Stable Values", - "badge": { - "text": "Java 25", - "type": "java-version" + { + "category": "Records", + "subcategories": [ + { + "category": "Simple record", + "source_uri": "java21/Record_1.snippet" + }, + { + "category": "Composing", + "source_uri": "java21/Record_2.snippet" + }, + { + "category": "Composing", + "source_uri": "java21/Record_2.snippet" + }, + { + "category": "Method overriding", + "source_uri": "java21/Record_3.snippet" + } + ] }, - "subcategories": [ - { - "category": "Static Initializers", - "source_uri": "java25/StableValues_1.snippet" - }, - { - "category": "Enum Initializers", - "source_uri": "java25/StableValues_2.snippet" - }, - { - "category": "... with Suppliers", - "source_uri": "java25/StableValues_3.snippet" - }, - { - "category": "... with Factories", - "source_uri": "java25/StableValues_4.snippet" - }, - { - "category": "... as List", - "source_uri": "java25/StableValues_5.snippet" - }, - { - "category": "... as Map", - "source_uri": "java25/StableValues_6.snippet" - }, - { - "category": "... as Function", - "source_uri": "java25/StableValues_7.snippet" - }, - { - "category": "... as IntFunction", - "source_uri": "java25/StableValues_8.snippet" - } - ] - }, - { - "category": "Miscelaneous", - "subcategories": [ - { - "category": "Statement before super", - "source_uri": "java22/StatementsBeforeSuper_1.snippet" - }, - { - "category": "Streams", - "subcategories": [ - { - "category": "Filtering", - "source_uri": "java21/Stream_1.snippet" - }, - { - "category": "Stream to List", - "source_uri": "java21/Stream_2.snippet" - }, - { - "category": "Text Block to Stream", - "source_uri": "java21/Stream_3.snippet" - } - ] + { + "category": "Unnamed Pattern", + "subcategories": [ + { + "category": "Consumer with Unnamed Pattern", + "source_uri": "java22/Unamed_Pattern_1.snippet" + }, + { + "category": "Function with Unnamed Pattern", + "source_uri": "java22/Unamed_Pattern_2.snippet" + }, + { + "category": "BiFunction with Unnamed Pattern", + "source_uri": "java22/Unamed_Pattern_3.snippet" + }, + { + "category": "Pattern Matching with Unnamed Pattern", + "source_uri": "java22/Unamed_Pattern_4.snippet" + } + ] + }, + { + "category": "Gatherers", + "subcategories": [ + { + "category": "Simple", + "subcategories": [ + { + "category": "Filtering", + "source_uri": "java24/Gatherers_A1.snippet" + }, + { + "category": "Mapping", + "source_uri": "java24/Gatherers_A2.snippet" + }, + { + "category": "Flatmapping", + "source_uri": "java24/Gatherers_A3.snippet" + } + ] + }, + { + "category": "Intermediate", + "subcategories": [ + { + "category": "Map filter", + "source_uri": "java24/Gatherers_B1.snippet" + }, + { + "category": "Limit", + "source_uri": "java24/Gatherers_B3.snippet" + }, + { + "category": "Distinct", + "source_uri": "java24/Gatherers_B5.snippet" + }, + { + "category": "Sort Distinct", + "source_uri": "java24/Gatherers_B9.snippet" + }, + { + "category": "Distinct Ignore Case", + "source_uri": "java24/Gatherers_B11.snippet" + }, + { + "category": "Custom Equal", + "source_uri": "java24/Gatherers_B15.snippet" + }, + { + "category": "Custom Equal Collecting", + "source_uri": "java24/Gatherers_B17.snippet" + } + ] + }, + { + "category": "Combining", + "subcategories": [ + { + "category": "Zipping", + "source_uri": "java24/Gatherers_D1.snippet" + }, + { + "category": "Zipping with Default Value", + "source_uri": "java24/Gatherers_D2.snippet" + }, + { + "category": "Combining", + "source_uri": "java24/Gatherers_D3.snippet" + }, + { + "category": "Combining with Default Value", + "source_uri": "java24/Gatherers_D4.snippet" + } + ] + } + ] + }, + { + "category": "Switch and Sealed Types", + "subcategories": [ + { + "category": "Switch and Sealed Types", + "source_uri": "java22/Switch_on_Sealled_Types_1.snippet" + }, + { + "category": "... with Record Pattern", + "source_uri": "java22/Switch_on_Sealled_Types_2.snippet" + }, + { + "category": "... with Nested Record Patterns", + "source_uri": "java22/Switch_on_Sealled_Types_3.snippet" + }, + { + "category": "... with Unnamed Patterns", + "source_uri": "java22/Switch_on_Sealled_Types_4.snippet" + }, + { + "category": "... with Guarded Patterns", + "source_uri": "java22/Switch_on_Sealled_Types_5.snippet" + } + ] + }, + { + "category": "Primitive Type Pattern", + "badge": { + "text": "Java 25", + "type": "java-version" }, - { - "category": "Setting Scoped Values", - "source_uri": "java25/ScopedValues_1.snippet", - "badge": { - "text": "Java 25", - "type": "java-version" + "subcategories": [ + { + "category": "... for instanceOf", + "source_uri": "java23/Primitive_Type_Pattern_1.snippet" + }, + { + "category": "... for switch", + "source_uri": "java23/Primitive_Type_Pattern_2.snippet" + }, + { + "category": "Narrowing Integer Number Primitive Pattern", + "source_uri": "java23/Primitive_Type_Pattern_3.snippet" + }, + { + "category": "Integer Number to Floating Point Number Primitive Pattern", + "source_uri": "java23/Primitive_Type_Pattern_5.snippet" + }, + { + "category": "Floating Point Number to Integer Number Primitive Pattern", + "source_uri": "java23/Primitive_Type_Pattern_6.snippet" + }, + { + "category": "Double Number to Integer Number Primitive Pattern", + "source_uri": "java23/Primitive_Type_Pattern_7.snippet" + }, + { + "category": "Boolean Primitive Pattern", + "source_uri": "java23/Primitive_Type_Pattern_8.snippet" + }, + { + "category": "Double Primitive Pattern", + "source_uri": "java23/Primitive_Type_Pattern_9.snippet" + }, + { + "category": "JSON Analysis", + "source_uri": "java25/PrimitiveTypePatterns_10.snippet" } + ] + }, + { + "category": "Stable Values", + "badge": { + "text": "Java 25", + "type": "java-version" }, - { - "category": "Flexible Constructor Body", - "source_uri": "java25/FlexibleConstructorBodies_2.snippet", - "badge": { - "text": "Java 25", - "type": "java-version" + "subcategories": [ + { + "category": "Static Initializers", + "source_uri": "java25/StableValues_1.snippet" + }, + { + "category": "Enum Initializers", + "source_uri": "java25/StableValues_2.snippet" + }, + { + "category": "... with Suppliers", + "source_uri": "java25/StableValues_3.snippet" + }, + { + "category": "... with Factories", + "source_uri": "java25/StableValues_4.snippet" + }, + { + "category": "... as List", + "source_uri": "java25/StableValues_5.snippet" + }, + { + "category": "... as Map", + "source_uri": "java25/StableValues_6.snippet" + }, + { + "category": "... as Function", + "source_uri": "java25/StableValues_7.snippet" + }, + { + "category": "... as IntFunction", + "source_uri": "java25/StableValues_8.snippet" } - } - ] - } -] \ No newline at end of file + ] + }, + { + "category": "Miscelaneous", + "subcategories": [ + { + "category": "Statement before super", + "source_uri": "java22/StatementsBeforeSuper_1.snippet" + }, + { + "category": "Streams", + "subcategories": [ + { + "category": "Filtering", + "source_uri": "java21/Stream_1.snippet" + }, + { + "category": "Stream to List", + "source_uri": "java21/Stream_2.snippet" + }, + { + "category": "Text Block to Stream", + "source_uri": "java21/Stream_3.snippet" + } + ] + }, + { + "category": "Setting Scoped Values", + "source_uri": "java25/ScopedValues_1.snippet", + "badge": { + "text": "Java 25", + "type": "java-version" + } + }, + { + "category": "Flexible Constructor Body", + "source_uri": "java25/FlexibleConstructorBodies_2.snippet", + "badge": { + "text": "Java 25", + "type": "java-version" + } + } + ] + } + ] +} From 9bd5d83b29126c1afc38347f8a05c11b311d87e4 Mon Sep 17 00:00:00 2001 From: Denys Makogon Date: Thu, 5 Feb 2026 15:34:20 +0100 Subject: [PATCH 4/4] updating index structure --- samples_index.json | 104 ++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/samples_index.json b/samples_index.json index c87beb3..41cd56e 100644 --- a/samples_index.json +++ b/samples_index.json @@ -3,7 +3,7 @@ "menu_items": [ { "category": "Hello World", - "source_uri": "java25/HelloWorld.snippet", + "source_uri": "java25/HelloWorld", "badge": { "text": "Java 25", "type": "java-version" @@ -14,19 +14,19 @@ "subcategories": [ { "category": "Simple record", - "source_uri": "java21/Record_1.snippet" + "source_uri": "java21/Record_1" }, { "category": "Composing", - "source_uri": "java21/Record_2.snippet" + "source_uri": "java21/Record_2" }, { "category": "Composing", - "source_uri": "java21/Record_2.snippet" + "source_uri": "java21/Record_2" }, { "category": "Method overriding", - "source_uri": "java21/Record_3.snippet" + "source_uri": "java21/Record_3" } ] }, @@ -35,19 +35,19 @@ "subcategories": [ { "category": "Consumer with Unnamed Pattern", - "source_uri": "java22/Unamed_Pattern_1.snippet" + "source_uri": "java22/Unamed_Pattern_1" }, { "category": "Function with Unnamed Pattern", - "source_uri": "java22/Unamed_Pattern_2.snippet" + "source_uri": "java22/Unamed_Pattern_2" }, { "category": "BiFunction with Unnamed Pattern", - "source_uri": "java22/Unamed_Pattern_3.snippet" + "source_uri": "java22/Unamed_Pattern_3" }, { "category": "Pattern Matching with Unnamed Pattern", - "source_uri": "java22/Unamed_Pattern_4.snippet" + "source_uri": "java22/Unamed_Pattern_4" } ] }, @@ -59,15 +59,15 @@ "subcategories": [ { "category": "Filtering", - "source_uri": "java24/Gatherers_A1.snippet" + "source_uri": "java24/Gatherers_A1" }, { "category": "Mapping", - "source_uri": "java24/Gatherers_A2.snippet" + "source_uri": "java24/Gatherers_A2" }, { "category": "Flatmapping", - "source_uri": "java24/Gatherers_A3.snippet" + "source_uri": "java24/Gatherers_A3" } ] }, @@ -76,31 +76,31 @@ "subcategories": [ { "category": "Map filter", - "source_uri": "java24/Gatherers_B1.snippet" + "source_uri": "java24/Gatherers_B1" }, { "category": "Limit", - "source_uri": "java24/Gatherers_B3.snippet" + "source_uri": "java24/Gatherers_B3" }, { "category": "Distinct", - "source_uri": "java24/Gatherers_B5.snippet" + "source_uri": "java24/Gatherers_B5" }, { "category": "Sort Distinct", - "source_uri": "java24/Gatherers_B9.snippet" + "source_uri": "java24/Gatherers_B9" }, { "category": "Distinct Ignore Case", - "source_uri": "java24/Gatherers_B11.snippet" + "source_uri": "java24/Gatherers_B11" }, { "category": "Custom Equal", - "source_uri": "java24/Gatherers_B15.snippet" + "source_uri": "java24/Gatherers_B15" }, { "category": "Custom Equal Collecting", - "source_uri": "java24/Gatherers_B17.snippet" + "source_uri": "java24/Gatherers_B17" } ] }, @@ -109,19 +109,19 @@ "subcategories": [ { "category": "Zipping", - "source_uri": "java24/Gatherers_D1.snippet" + "source_uri": "java24/Gatherers_D1" }, { "category": "Zipping with Default Value", - "source_uri": "java24/Gatherers_D2.snippet" + "source_uri": "java24/Gatherers_D2" }, { "category": "Combining", - "source_uri": "java24/Gatherers_D3.snippet" + "source_uri": "java24/Gatherers_D3" }, { "category": "Combining with Default Value", - "source_uri": "java24/Gatherers_D4.snippet" + "source_uri": "java24/Gatherers_D4" } ] } @@ -132,23 +132,23 @@ "subcategories": [ { "category": "Switch and Sealed Types", - "source_uri": "java22/Switch_on_Sealled_Types_1.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_1" }, { "category": "... with Record Pattern", - "source_uri": "java22/Switch_on_Sealled_Types_2.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_2" }, { "category": "... with Nested Record Patterns", - "source_uri": "java22/Switch_on_Sealled_Types_3.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_3" }, { "category": "... with Unnamed Patterns", - "source_uri": "java22/Switch_on_Sealled_Types_4.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_4" }, { "category": "... with Guarded Patterns", - "source_uri": "java22/Switch_on_Sealled_Types_5.snippet" + "source_uri": "java22/Switch_on_Sealled_Types_5" } ] }, @@ -161,39 +161,39 @@ "subcategories": [ { "category": "... for instanceOf", - "source_uri": "java23/Primitive_Type_Pattern_1.snippet" + "source_uri": "java23/Primitive_Type_Pattern_1" }, { "category": "... for switch", - "source_uri": "java23/Primitive_Type_Pattern_2.snippet" + "source_uri": "java23/Primitive_Type_Pattern_2" }, { "category": "Narrowing Integer Number Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_3.snippet" + "source_uri": "java23/Primitive_Type_Pattern_3" }, { "category": "Integer Number to Floating Point Number Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_5.snippet" + "source_uri": "java23/Primitive_Type_Pattern_5" }, { "category": "Floating Point Number to Integer Number Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_6.snippet" + "source_uri": "java23/Primitive_Type_Pattern_6" }, { "category": "Double Number to Integer Number Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_7.snippet" + "source_uri": "java23/Primitive_Type_Pattern_7" }, { "category": "Boolean Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_8.snippet" + "source_uri": "java23/Primitive_Type_Pattern_8" }, { "category": "Double Primitive Pattern", - "source_uri": "java23/Primitive_Type_Pattern_9.snippet" + "source_uri": "java23/Primitive_Type_Pattern_9" }, { "category": "JSON Analysis", - "source_uri": "java25/PrimitiveTypePatterns_10.snippet" + "source_uri": "java25/PrimitiveTypePatterns_10" } ] }, @@ -206,65 +206,65 @@ "subcategories": [ { "category": "Static Initializers", - "source_uri": "java25/StableValues_1.snippet" + "source_uri": "java25/StableValues_1" }, { "category": "Enum Initializers", - "source_uri": "java25/StableValues_2.snippet" + "source_uri": "java25/StableValues_2" }, { "category": "... with Suppliers", - "source_uri": "java25/StableValues_3.snippet" + "source_uri": "java25/StableValues_3" }, { "category": "... with Factories", - "source_uri": "java25/StableValues_4.snippet" + "source_uri": "java25/StableValues_4" }, { "category": "... as List", - "source_uri": "java25/StableValues_5.snippet" + "source_uri": "java25/StableValues_5" }, { "category": "... as Map", - "source_uri": "java25/StableValues_6.snippet" + "source_uri": "java25/StableValues_6" }, { "category": "... as Function", - "source_uri": "java25/StableValues_7.snippet" + "source_uri": "java25/StableValues_7" }, { "category": "... as IntFunction", - "source_uri": "java25/StableValues_8.snippet" + "source_uri": "java25/StableValues_8" } ] }, { - "category": "Miscelaneous", + "category": "Miscellaneous", "subcategories": [ { "category": "Statement before super", - "source_uri": "java22/StatementsBeforeSuper_1.snippet" + "source_uri": "java22/StatementsBeforeSuper_1" }, { "category": "Streams", "subcategories": [ { "category": "Filtering", - "source_uri": "java21/Stream_1.snippet" + "source_uri": "java21/Stream_1" }, { "category": "Stream to List", - "source_uri": "java21/Stream_2.snippet" + "source_uri": "java21/Stream_2" }, { "category": "Text Block to Stream", - "source_uri": "java21/Stream_3.snippet" + "source_uri": "java21/Stream_3" } ] }, { "category": "Setting Scoped Values", - "source_uri": "java25/ScopedValues_1.snippet", + "source_uri": "java25/ScopedValues_1", "badge": { "text": "Java 25", "type": "java-version" @@ -272,7 +272,7 @@ }, { "category": "Flexible Constructor Body", - "source_uri": "java25/FlexibleConstructorBodies_2.snippet", + "source_uri": "java25/FlexibleConstructorBodies_2", "badge": { "text": "Java 25", "type": "java-version"