From 57280b828541b4290a54ff12dccee4f3c671e26c Mon Sep 17 00:00:00 2001 From: Speiger Date: Tue, 6 Dec 2022 03:05:58 +0100 Subject: [PATCH] Map Generation can now be turned off. --- ModulSettings.json | 1296 +++++++++++------ .../speiger/src/builder/SettingsManager.java | 16 +- .../src/builder/modules/MapModule.java | 65 +- .../maps/abstracts/AbstractMap.template | 39 +- .../customHash/OpenCustomHashMap.template | 3 +- .../maps/impl/hash/OpenHashMap.template | 3 +- .../immutable/ImmutableOpenHashMap.template | 3 +- .../maps/impl/misc/ArrayMap.template | 5 +- .../templates/maps/impl/misc/EnumMap.template | 3 +- .../maps/impl/tree/AVLTreeMap.template | 3 +- .../maps/impl/tree/RBTreeMap.template | 3 +- .../templates/maps/interfaces/Map.template | 81 +- .../maps/interfaces/NavigableMap.template | 5 + .../maps/interfaces/OrderedMap.template | 4 + .../maps/interfaces/SortedMap.template | 4 + .../templates/utils/maps/Maps.template | 43 +- 16 files changed, 1098 insertions(+), 478 deletions(-) diff --git a/ModulSettings.json b/ModulSettings.json index 5d84a687..57bc98e3 100644 --- a/ModulSettings.json +++ b/ModulSettings.json @@ -11,97 +11,97 @@ "Boolean": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -109,205 +109,259 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -315,205 +369,259 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -521,205 +629,259 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -727,205 +889,259 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -933,205 +1149,259 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -1139,205 +1409,259 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -1345,205 +1669,259 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -1551,205 +1929,259 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Base": { - "enabled": true + "Enabled": true }, "Boolean": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Byte": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Short": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Character": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Integer": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Long": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Float": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Double": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Object": { "enabled": true, "Function": { - "enabled": true + "Enabled": true }, "Map": { - "enabled": true, + "Enabled": true, "HashMap": true, "RBTreeMap": true, "ConcurrentMap": true, "ArrayMap": true, "AVLTreeMap": true, "CustomHashMap": true, - "EnumMap": true, - "ImmutableMap": true + "ImmutableMap": true, + "LinkedCustomHashMap": true, + "LinkedHashMap": true, + "Maps": true, + "SortedMap": true, + "LinkedEnumMap": true, + "OrderedMap": true, + "EnumMap": true }, "Pair": { - "enabled": true + "Enabled": true } }, "Collection": { - "enabled": true + "Enabled": true }, "PriorityQueue": { - "enabled": true + "Enabled": true }, "List": { - "enabled": true, + "Enabled": true, "Lists": true, "ImmutableList": true, "CopyOnWriteList": true, @@ -1757,10 +2189,10 @@ "LinkedList": true }, "Set": { - "enabled": true + "Enabled": true }, "Async": { - "enabled": true + "Enabled": true } } } \ No newline at end of file diff --git a/src/builder/java/speiger/src/builder/SettingsManager.java b/src/builder/java/speiger/src/builder/SettingsManager.java index df08e47b..552e5074 100644 --- a/src/builder/java/speiger/src/builder/SettingsManager.java +++ b/src/builder/java/speiger/src/builder/SettingsManager.java @@ -24,13 +24,13 @@ public class SettingsManager if(!loaded) return true; if(!isEnabled(data, base.getModuleName())) return false; JsonObject result = getObject(data, keyType.getClassPath(), false); - if(!isEnabled(result, "enabled")) return false; + if(!isEnabled(result, "Enabled")) return false; if(base.isBiModule()) { result = getObject(result, valueType.getClassPath(), false); - if(!isEnabled(result, "enabled")) return false; + if(!isEnabled(result, "Enabled")) return false; } result = getObject(result, base.getModuleName(), false); - return result.size() <= 0 || isEnabled(result, "enabled"); + return result.size() <= 0 || isEnabled(result, "Enabled"); } public boolean isModuleEnabled(BaseModule base, ClassType keyType, ClassType valueType, String entry) @@ -38,13 +38,13 @@ public class SettingsManager if(!loaded) return true; if(!isEnabled(data, base.getModuleName())) return false; JsonObject result = getObject(data, keyType.getClassPath(), false); - if(!isEnabled(result, "enabled")) return false; + if(!isEnabled(result, "Enabled")) return false; if(base.isBiModule()) { result = getObject(result, valueType.getClassPath(), false); - if(!isEnabled(result, "enabled")) return false; + if(!isEnabled(result, "Enabled")) return false; } result = getObject(result, base.getModuleName(), false); - return result.size() <= 0 || (isEnabled(result, "enabled") && isEnabled(result, entry)); + return result.size() <= 0 || (isEnabled(result, "Enabled") && isEnabled(result, entry)); } public void addModule(BaseModule module) { @@ -57,7 +57,7 @@ public class SettingsManager for(ClassType valueType : ModulePackage.TYPE) { if(!module.isModuleValid(keyType, valueType)) continue; JsonObject obj = new JsonObject(); - obj.addProperty("enabled", true); + obj.addProperty("Enabled", true); for(String key : module.getModuleKeys(keyType, valueType)) { obj.addProperty(key, true); } @@ -69,7 +69,7 @@ public class SettingsManager for(ClassType keyType : ModulePackage.TYPE) { if(!module.isModuleValid(keyType, keyType)) continue; JsonObject obj = new JsonObject(); - obj.addProperty("enabled", true); + obj.addProperty("Enabled", true); for(String key : module.getModuleKeys(keyType, keyType)) { obj.addProperty(key, true); } diff --git a/src/builder/java/speiger/src/builder/modules/MapModule.java b/src/builder/java/speiger/src/builder/modules/MapModule.java index ce60b205..1356449f 100644 --- a/src/builder/java/speiger/src/builder/modules/MapModule.java +++ b/src/builder/java/speiger/src/builder/modules/MapModule.java @@ -16,19 +16,78 @@ public class MapModule extends BaseModule @Override protected void loadVariables() {} @Override - protected void loadFlags() {} - @Override public boolean isModuleValid(ClassType keyType, ClassType valueType) { return keyType != ClassType.BOOLEAN; } @Override public Set getModuleKeys(ClassType keyType, ClassType valueType) { - return new HashSet<>(Arrays.asList("ConcurrentMap", "HashMap", "CustomHashMap", "ImmutableMap", "ArrayMap", "EnumMap", "AVLTreeMap", "RBTreeMap")); + Set sets = new HashSet<>(); + sets.add("Maps"); + sets.addAll(Arrays.asList("OrderedMap", "SortedMap")); + sets.addAll(Arrays.asList("ArrayMap", "ConcurrentMap", "ImmutableMap")); + sets.addAll(Arrays.asList("HashMap", "LinkedHashMap")); + sets.addAll(Arrays.asList("CustomHashMap", "LinkedCustomHashMap")); + sets.addAll(Arrays.asList("EnumMap", "LinkedEnumMap")); + sets.addAll(Arrays.asList("AVLTreeMap", "RBTreeMap")); + return sets; + } + + @Override + protected void loadFlags() { + if(isModuleEnabled()) addFlag("MAP_MODULE"); + if(isModuleEnabled("Maps")) addFlag("Maps"); + boolean hashMap = isModuleEnabled("HashMap"); + boolean customHashMap = isModuleEnabled("CustomHashMap"); + boolean enumMap = isModuleEnabled("EnumMap"); + + if(isModuleEnabled("OrderedMap")) { + addFlag("ORDERED_MAP_FEATURE"); + if(isModuleEnabled("ArrayMap")) addFlag("ARRAY_MAP_FEATURE"); + if(hashMap && isModuleEnabled("LinkedHashMap")) addFlag("LINKED_MAP_FEATURE"); + if(customHashMap && isModuleEnabled("LinkedCustomHashMap")) addFlag("LINKED_CUSTOM_MAP_FEATURE"); + if(enumMap && isModuleEnabled("LinkedEnumMap")) addFlag("LINKED_ENUM_MAP_FEATURE"); + } + if(isModuleEnabled("SortedMap")) { + addFlag("SORTED_MAP_FEATURE"); + if(isModuleEnabled("AVLTreeMap")) addFlag("AVL_TREE_MAP_FEATURE"); + if(isModuleEnabled("RBTreeMap")) addFlag("RB_TREE_MAP_FEATURE"); + } + if(isModuleEnabled("ConcurrentMap")) addFlag("CONCURRENT_MAP_FEATURE"); + if(isModuleEnabled("ImmutableMap")) addFlag("IMMUTABLE_MAP_FEATURE"); + if(hashMap) addFlag("HASH_MAP_FEATURE"); + if(customHashMap) addFlag("CUSTOM_HASH_MAP_FEATURE"); + if(enumMap) addFlag("ENUM_MAP_FEATURE"); } @Override protected void loadBlockades() { + if(!isModuleEnabled()) addBlockedFiles("Map", "AbstractMap"); + if(!isModuleEnabled("Maps")) addBlockedFiles("Maps"); + if(!isModuleEnabled("ImmutableMap")) addBlockedFiles("ImmutableOpenHashMap"); + if(!isModuleEnabled("ConcurrentMap")) addBlockedFiles("ConcurrentMap", "ConcurrentOpenHashMap"); + + boolean ordered = !isModuleEnabled("OrderedMap"); + if(ordered) addBlockedFiles("OrderedMap"); + boolean hashMap = !isModuleEnabled("HashMap"); + if(hashMap) addBlockedFiles("OpenHashMap"); + if(hashMap || ordered || !isModuleEnabled("LinkedHashMap")) addBlockedFiles("LinkedOpenHashMap"); + + boolean customHashMap = !isModuleEnabled("CustomHashMap"); + if(customHashMap) addBlockedFiles("OpenCustomHashMap"); + if(customHashMap || ordered || !isModuleEnabled("LinkedCustomHashMap")) addBlockedFiles("LinkedOpenCustomHashMap"); + + boolean enumMap = !isModuleEnabled("EnumMap"); + if(enumMap) addBlockedFiles("EnumMap"); + if(enumMap || ordered || !isModuleEnabled("LinkedEnumMap")) addBlockedFiles("LinkedEnumMap"); + + if(ordered || isModuleEnabled("ArrayMap")) addBlockedFiles("ArrayMap"); + + boolean sorted = !isModuleEnabled("SortedMap"); + if(sorted) addBlockedFiles("SortedMap", "NavigableMap"); + if(sorted || !isModuleEnabled("AVLTreeMap")) addBlockedFiles("AVLTreeMap"); + if(sorted || !isModuleEnabled("RBTreeMap")) addBlockedFiles("RBTreeMap"); + if(keyType == ClassType.BOOLEAN) { //Main Classes diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/abstracts/AbstractMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/abstracts/AbstractMap.template index 01530d90..d2fb3b9c 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/abstracts/AbstractMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/abstracts/AbstractMap.template @@ -11,7 +11,9 @@ import speiger.src.collections.PACKAGE.functions.function.UNARY_OPERATOR; import speiger.src.collections.PACKAGE.maps.interfaces.MAP; import speiger.src.collections.PACKAGE.sets.ABSTRACT_SET; import speiger.src.collections.PACKAGE.sets.SET; +#if MAPS_FEATURE import speiger.src.collections.PACKAGE.utils.maps.MAPS; +#endif import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_ABSTRACT_COLLECTION; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_COLLECTION; #if !SAME_TYPE @@ -19,6 +21,7 @@ import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_ITERATOR; import speiger.src.collections.VALUE_PACKAGE.functions.function.VALUE_UNARY_OPERATOR; #endif import speiger.src.collections.VALUE_PACKAGE.functions.VALUE_SUPPLIER; +import speiger.src.collections.objects.collections.ObjectIterable; #if !TYPE_OBJECT && !VALUE_OBJECT import speiger.src.collections.objects.collections.ObjectIterator; #endif @@ -47,6 +50,22 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap getFastIterable(MAP KEY_VALUE_GENERIC_TYPE map) { +#if MAPS_FEATURE + return MAPS.fastIterable(map); +#else + return map.ENTRY_SET(); +#endif + } + + protected ObjectIterator getFastIterator(MAP KEY_VALUE_GENERIC_TYPE map) { +#if MAPS_FEATURE + return MAPS.fastIterator(map); +#else + return map.ENTRY_SET().iterator(); +#endif + } + @Override public MAP KEY_VALUE_GENERIC_TYPE copy() { throw new UnsupportedOperationException(); @@ -63,14 +82,14 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap iter = MAPS.fastIterator(m);iter.hasNext();) { + for(ObjectIterator iter = getFastIterator(m);iter.hasNext();) { MAP.Entry KEY_VALUE_GENERIC_TYPE entry = iter.next(); put(entry.ENTRY_KEY(), entry.ENTRY_VALUE()); } @@ -101,7 +120,7 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap iter = MAPS.fastIterator(this);iter.hasNext();) { + for(ObjectIterator iter = getFastIterator(this);iter.hasNext();) { MAP.Entry KEY_VALUE_GENERIC_TYPE entry = iter.next(); entry.setValue(mappingFunction.APPLY_VALUE(entry.ENTRY_KEY(), entry.ENTRY_VALUE())); } @@ -246,7 +265,7 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap iter = MAPS.fastIterator(this);iter.hasNext();) { + for(ObjectIterator iter = getFastIterator(this);iter.hasNext();) { MAP.Entry KEY_VALUE_GENERIC_TYPE entry = iter.next(); action.accept(entry.ENTRY_KEY(), entry.ENTRY_VALUE()); } @@ -332,7 +351,7 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap iter = MAPS.fastIterator(ABSTRACT_MAP.this); + ObjectIterator iter = getFastIterator(ABSTRACT_MAP.this); @Override public boolean hasNext() { return iter.hasNext(); @@ -383,7 +402,7 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap iter = MAPS.fastIterator(ABSTRACT_MAP.this); + ObjectIterator iter = getFastIterator(ABSTRACT_MAP.this); @Override public boolean hasNext() { return iter.hasNext(); @@ -423,7 +442,7 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap iter = MAPS.fastIterator(this); + ObjectIterator iter = getFastIterator(this); while(iter.hasNext()) hash += iter.next().hashCode(); return hash; } diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template index 8f4c4b61..f2f536fd 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template @@ -24,7 +24,6 @@ import speiger.src.collections.PACKAGE.functions.function.PREDICATE; #endif import speiger.src.collections.PACKAGE.maps.abstracts.ABSTRACT_MAP; import speiger.src.collections.PACKAGE.maps.interfaces.MAP; -import speiger.src.collections.PACKAGE.utils.maps.MAPS; #if !TYPE_OBJECT import speiger.src.collections.PACKAGE.sets.ABSTRACT_SET; import speiger.src.collections.PACKAGE.sets.SET; @@ -607,7 +606,7 @@ public class CUSTOM_HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VAL @Override public void BULK_MERGE(MAP KEY_VALUE_GENERIC_TYPE m, VALUE_UNARY_OPERATOR VALUE_VALUE_GENERIC_TYPE mappingFunction) { Objects.requireNonNull(mappingFunction); - for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : MAPS.fastIterable(m)) { + for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : getFastIterable(m)) { KEY_TYPE key = entry.ENTRY_KEY(); int index = findIndex(key); VALUE_TYPE newValue = index < 0 || VALUE_EQUALS(values[index], getDefaultReturnValue()) ? entry.ENTRY_VALUE() : mappingFunction.APPLY_VALUE(values[index], entry.ENTRY_VALUE()); diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template index 24e30d14..95e6aa92 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template @@ -24,7 +24,6 @@ import speiger.src.collections.PACKAGE.functions.function.PREDICATE; #endif import speiger.src.collections.PACKAGE.maps.abstracts.ABSTRACT_MAP; import speiger.src.collections.PACKAGE.maps.interfaces.MAP; -import speiger.src.collections.PACKAGE.utils.maps.MAPS; #if !TYPE_OBJECT import speiger.src.collections.PACKAGE.sets.ABSTRACT_SET; import speiger.src.collections.PACKAGE.sets.SET; @@ -568,7 +567,7 @@ public class HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GENE @Override public void BULK_MERGE(MAP KEY_VALUE_GENERIC_TYPE m, VALUE_UNARY_OPERATOR VALUE_VALUE_GENERIC_TYPE mappingFunction) { Objects.requireNonNull(mappingFunction); - for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : MAPS.fastIterable(m)) { + for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : getFastIterable(m)) { KEY_TYPE key = entry.ENTRY_KEY(); int index = findIndex(key); VALUE_TYPE newValue = index < 0 || VALUE_EQUALS(values[index], getDefaultReturnValue()) ? entry.ENTRY_VALUE() : mappingFunction.APPLY_VALUE(values[index], entry.ENTRY_VALUE()); diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/immutable/ImmutableOpenHashMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/immutable/ImmutableOpenHashMap.template index 780cac6c..51360f33 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/immutable/ImmutableOpenHashMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/immutable/ImmutableOpenHashMap.template @@ -28,7 +28,6 @@ import speiger.src.collections.PACKAGE.maps.interfaces.MAP; #if !TYPE_OBJECT import speiger.src.collections.PACKAGE.sets.ORDERED_SET; #endif -import speiger.src.collections.PACKAGE.utils.maps.MAPS; #if !TYPE_OBJECT import speiger.src.collections.PACKAGE.utils.ARRAYS; #endif @@ -215,7 +214,7 @@ public class IMMUTABLE_HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_ KEY_TYPE[] keys = NEW_KEY_ARRAY(map.size()); VALUE_TYPE[] values = NEW_VALUE_ARRAY(keys.length); int index = 0; - for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : MAPS.fastIterable(map)) { + for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : getFastIterable(map)) { keys[index] = entry.ENTRY_KEY(); values[index] = entry.ENTRY_VALUE(); index++; diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template index fdc3af20..c17e99c5 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template @@ -27,7 +27,6 @@ import speiger.src.collections.PACKAGE.maps.interfaces.MAP; import speiger.src.collections.PACKAGE.maps.interfaces.ORDERED_MAP; import speiger.src.collections.PACKAGE.sets.ABSTRACT_SET; import speiger.src.collections.PACKAGE.sets.ORDERED_SET; -import speiger.src.collections.PACKAGE.utils.maps.MAPS; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_ABSTRACT_COLLECTION; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_COLLECTION; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_ITERATOR; @@ -176,7 +175,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN */ public ARRAY_MAP(MAP KEY_VALUE_GENERIC_TYPE map) { this(map.size()); - for(ObjectIterator iter = MAPS.fastIterator(map);iter.hasNext();size++) { + for(ObjectIterator iter = getFastIterator(map);iter.hasNext();size++) { MAP.Entry KEY_VALUE_GENERIC_TYPE entry = iter.next(); keys[size] = entry.ENTRY_KEY(); values[size] = entry.ENTRY_VALUE(); @@ -566,7 +565,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN @Override public void BULK_MERGE(MAP KEY_VALUE_GENERIC_TYPE m, VALUE_UNARY_OPERATOR VALUE_VALUE_GENERIC_TYPE mappingFunction) { Objects.requireNonNull(mappingFunction); - for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : MAPS.fastIterable(m)) { + for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : getFastIterable(m)) { KEY_TYPE key = entry.ENTRY_KEY(); int index = findIndex(key); VALUE_TYPE newValue = index == -1 || VALUE_EQUALS(values[index], getDefaultReturnValue()) ? entry.ENTRY_VALUE() : mappingFunction.APPLY_VALUE(values[index], entry.ENTRY_VALUE()); diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/EnumMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/EnumMap.template index eb71035c..a8cc1ef2 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/EnumMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/EnumMap.template @@ -19,7 +19,6 @@ import speiger.src.collections.PACKAGE.functions.consumer.BI_CONSUMER; import speiger.src.collections.PACKAGE.functions.function.UNARY_OPERATOR; #endif import speiger.src.collections.PACKAGE.functions.function.FUNCTION; -import speiger.src.collections.PACKAGE.utils.maps.MAPS; import speiger.src.collections.objects.maps.abstracts.ABSTRACT_MAP; import speiger.src.collections.objects.maps.interfaces.MAP; import speiger.src.collections.objects.sets.AbstractObjectSet; @@ -449,7 +448,7 @@ public class ENUM_MAP KEY_ENUM_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE @Override public void BULK_MERGE(MAP KEY_VALUE_GENERIC_TYPE m, VALUE_UNARY_OPERATOR VALUE_VALUE_GENERIC_TYPE mappingFunction) { Objects.requireNonNull(mappingFunction); - for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : MAPS.fastIterable(m)) { + for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : getFastIterable(m)) { T key = entry.ENTRY_KEY(); int index = key.ordinal(); VALUE_TYPE newValue = !isSet(index) || VALUE_EQUALS(values[index], getDefaultReturnValue()) ? entry.ENTRY_VALUE() : mappingFunction.APPLY_VALUE(values[index], entry.ENTRY_VALUE()); diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template index f2c57b43..eb7fcc8c 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template @@ -33,7 +33,6 @@ import speiger.src.collections.PACKAGE.sets.NAVIGABLE_SET; #if TYPE_OBJECT import speiger.src.collections.PACKAGE.sets.SET; #endif -import speiger.src.collections.PACKAGE.utils.maps.MAPS; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_ABSTRACT_COLLECTION; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_COLLECTION; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_ITERATOR; @@ -627,7 +626,7 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_ @Override public void BULK_MERGE(MAP KEY_VALUE_GENERIC_TYPE m, VALUE_UNARY_OPERATOR VALUE_VALUE_GENERIC_TYPE mappingFunction) { Objects.requireNonNull(mappingFunction); - for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : MAPS.fastIterable(m)) { + for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : getFastIterable(m)) { KEY_TYPE key = entry.ENTRY_KEY(); Node KEY_VALUE_GENERIC_TYPE subEntry = findNode(key); VALUE_TYPE newValue = subEntry == null || VALUE_EQUALS(subEntry.value, getDefaultReturnValue()) ? entry.ENTRY_VALUE() : mappingFunction.APPLY_VALUE(subEntry.value, entry.ENTRY_VALUE()); diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template index d8e94c85..7524e3d5 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template @@ -33,7 +33,6 @@ import speiger.src.collections.PACKAGE.sets.NAVIGABLE_SET; #if TYPE_OBJECT import speiger.src.collections.PACKAGE.sets.SET; #endif -import speiger.src.collections.PACKAGE.utils.maps.MAPS; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_ABSTRACT_COLLECTION; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_COLLECTION; import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_ITERATOR; @@ -630,7 +629,7 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G @Override public void BULK_MERGE(MAP KEY_VALUE_GENERIC_TYPE m, VALUE_UNARY_OPERATOR VALUE_VALUE_GENERIC_TYPE mappingFunction) { Objects.requireNonNull(mappingFunction); - for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : MAPS.fastIterable(m)) { + for(MAP.Entry KEY_VALUE_GENERIC_TYPE entry : getFastIterable(m)) { KEY_TYPE key = entry.ENTRY_KEY(); Node KEY_VALUE_GENERIC_TYPE subEntry = findNode(key); VALUE_TYPE newValue = subEntry == null || VALUE_EQUALS(subEntry.value, getDefaultReturnValue()) ? entry.ENTRY_VALUE() : mappingFunction.APPLY_VALUE(subEntry.value, entry.ENTRY_VALUE()); diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template b/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template index 1d3e2f53..9f3a8dd9 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template @@ -12,34 +12,65 @@ import java.util.function.Consumer; import java.util.function.Function; #if TYPE_OBJECT +#if AVL_TREE_MAP_FEATURE || RB_TREE_MAP_FEATURE import java.util.Comparator; #endif +#endif import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_COLLECTION; import speiger.src.collections.PACKAGE.functions.consumer.BI_CONSUMER; import speiger.src.collections.PACKAGE.functions.function.FUNCTION; import speiger.src.collections.PACKAGE.functions.function.UNARY_OPERATOR; -#if !TYPE_OBJECT && !TYPE_BOOLEAN +#if !TYPE_OBJECT && !TYPE_BOOLEAN && SORTED_MAP_FEATURE +#if AVL_TREE_MAP_FEATURE || RB_TREE_MAP_FEATURE import speiger.src.collections.PACKAGE.functions.COMPARATOR; #endif +#endif #if !TYPE_BOOLEAN +#if LINKED_CUSTOM_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.customHash.LINKED_CUSTOM_HASH_MAP; +#endif +#if CUSTOM_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.customHash.CUSTOM_HASH_MAP; +#endif +#if LINKED_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.hash.LINKED_HASH_MAP; +#endif +#if MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.hash.HASH_MAP; +#endif +#if IMMUTABLE_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.immutable.IMMUTABLE_HASH_MAP; +#endif +#if AVL_TREE_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.tree.AVL_TREE_MAP; +#endif +#if RB_TREE_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.tree.RB_TREE_MAP; +#endif +#if ARRAY_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.misc.ARRAY_MAP; +#endif +#if CONCURRENT_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.concurrent.CONCURRENT_HASH_MAP; +#endif #if TYPE_OBJECT +#if ENUM_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.misc.ENUM_MAP; +#endif +#if LINKED_ENUM_MAP_FEATURE import speiger.src.collections.PACKAGE.maps.impl.misc.LINKED_ENUM_MAP; #endif +#endif + import speiger.src.collections.objects.collections.ObjectIterable; +#if CUSTOM_MAP_FEATURE || LINKED_CUSTOM_MAP_FEATURE import speiger.src.collections.PACKAGE.utils.STRATEGY; +#endif +#if MAPS_FEATURE import speiger.src.collections.PACKAGE.utils.maps.MAPS; #endif +#endif import speiger.src.collections.PACKAGE.sets.SET; #if !SAME_TYPE import speiger.src.collections.VALUE_PACKAGE.functions.function.VALUE_UNARY_OPERATOR; @@ -505,7 +536,7 @@ public interface MAP KEY_VALUE_GENERIC_TYPE extends Map ENTRY_SET(); -#if !TYPE_BOOLEAN +#if MAPS_FEATURE /** * Creates a Wrapped Map that is Synchronized * @return a new Map that is synchronized @@ -658,6 +689,7 @@ public interface MAP KEY_VALUE_GENERIC_TYPE extends Map map, COMPARATOR KEY_GENERIC_TYPE comp) { return new AVL_TREE_MAPKV_BRACES(map, comp); } +#endif } /** @@ -1454,7 +1505,11 @@ public interface MAP KEY_VALUE_GENERIC_TYPE extends Map E putElements(E e){ e.putAll(keys, values, 0, size); return e; } +#endif +#if MAP_FEATURE /** * Builds the Keys and Values into a Hash Map * @return a HASH_MAP @@ -1496,6 +1554,8 @@ public interface MAP KEY_VALUE_GENERIC_TYPE extends Map ENTRY_SET(); +#if MAPS_FEATURE /** * Creates a Wrapped SortedMap that is Synchronized * @return a new SortedMap that is synchronized @@ -127,6 +130,7 @@ public interface ORDERED_MAP KEY_VALUE_GENERIC_TYPE extends MAP KEY_VALUE_GENERI @Override public default ORDERED_MAP KEY_VALUE_GENERIC_TYPE unmodifiable() { return MAPS.unmodifiable(this); } +#endif /** * Fast Ordered Entry Set that allows for a faster Entry Iterator by recycling the Entry Object and just exchanging 1 internal value * @Type(T) diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/SortedMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/SortedMap.template index d186f366..4cabf571 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/SortedMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/SortedMap.template @@ -10,7 +10,9 @@ import speiger.src.collections.VALUE_PACKAGE.collections.VALUE_COLLECTION; import speiger.src.collections.PACKAGE.functions.COMPARATOR; #endif import speiger.src.collections.PACKAGE.sets.SORTED_SET; +#if MAPS_FEATURE import speiger.src.collections.PACKAGE.utils.maps.MAPS; +#endif #if !TYPE_OBJECT import speiger.src.collections.objects.sets.ObjectSortedSet; #endif @@ -37,6 +39,7 @@ public interface SORTED_MAP KEY_VALUE_GENERIC_TYPE extends SortedMap