Collection Module Works now. (Least Configurable for obvious Reasons)

This commit is contained in:
Speiger 2022-12-07 06:27:47 +01:00
parent 3ce52668df
commit 342b0cece9
9 changed files with 245 additions and 131 deletions

View File

@ -113,7 +113,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -121,7 +125,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -129,7 +133,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -156,7 +160,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -185,7 +189,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -214,7 +218,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -243,7 +247,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -272,7 +276,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -301,7 +305,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -330,7 +334,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -359,7 +363,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -388,7 +392,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -404,7 +408,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -412,7 +420,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -420,7 +428,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -431,7 +439,7 @@
"CustomHashSet": true, "CustomHashSet": true,
"HashSet": true, "HashSet": true,
"ImmutableSet": true, "ImmutableSet": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashSet": true, "LinkedCustomHashSet": true,
"LinkedHashSet": true, "LinkedHashSet": true,
"OrderedSet": true, "OrderedSet": true,
@ -462,7 +470,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -491,7 +499,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -520,7 +528,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -549,7 +557,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -578,7 +586,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -607,7 +615,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -636,7 +644,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -665,7 +673,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -694,7 +702,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -710,7 +718,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -718,7 +730,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -726,7 +738,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -737,7 +749,7 @@
"CustomHashSet": true, "CustomHashSet": true,
"HashSet": true, "HashSet": true,
"ImmutableSet": true, "ImmutableSet": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashSet": true, "LinkedCustomHashSet": true,
"LinkedHashSet": true, "LinkedHashSet": true,
"OrderedSet": true, "OrderedSet": true,
@ -768,7 +780,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -797,7 +809,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -826,7 +838,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -855,7 +867,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -884,7 +896,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -913,7 +925,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -942,7 +954,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -971,7 +983,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1000,7 +1012,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1016,7 +1028,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -1024,7 +1040,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -1032,7 +1048,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -1043,7 +1059,7 @@
"CustomHashSet": true, "CustomHashSet": true,
"HashSet": true, "HashSet": true,
"ImmutableSet": true, "ImmutableSet": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashSet": true, "LinkedCustomHashSet": true,
"LinkedHashSet": true, "LinkedHashSet": true,
"OrderedSet": true, "OrderedSet": true,
@ -1074,7 +1090,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1103,7 +1119,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1132,7 +1148,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1161,7 +1177,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1190,7 +1206,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1219,7 +1235,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1248,7 +1264,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1277,7 +1293,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1306,7 +1322,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1322,7 +1338,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -1330,7 +1350,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -1338,7 +1358,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -1349,7 +1369,7 @@
"CustomHashSet": true, "CustomHashSet": true,
"HashSet": true, "HashSet": true,
"ImmutableSet": true, "ImmutableSet": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashSet": true, "LinkedCustomHashSet": true,
"LinkedHashSet": true, "LinkedHashSet": true,
"OrderedSet": true, "OrderedSet": true,
@ -1380,7 +1400,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1409,7 +1429,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1438,7 +1458,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1467,7 +1487,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1496,7 +1516,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1525,7 +1545,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1554,7 +1574,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1583,7 +1603,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1612,7 +1632,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1628,7 +1648,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -1636,7 +1660,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -1644,7 +1668,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -1655,7 +1679,7 @@
"CustomHashSet": true, "CustomHashSet": true,
"HashSet": true, "HashSet": true,
"ImmutableSet": true, "ImmutableSet": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashSet": true, "LinkedCustomHashSet": true,
"LinkedHashSet": true, "LinkedHashSet": true,
"OrderedSet": true, "OrderedSet": true,
@ -1686,7 +1710,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1715,7 +1739,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1744,7 +1768,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1773,7 +1797,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1802,7 +1826,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1831,7 +1855,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1860,7 +1884,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1889,7 +1913,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1918,7 +1942,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -1934,7 +1958,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -1942,7 +1970,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -1950,7 +1978,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -1961,7 +1989,7 @@
"CustomHashSet": true, "CustomHashSet": true,
"HashSet": true, "HashSet": true,
"ImmutableSet": true, "ImmutableSet": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashSet": true, "LinkedCustomHashSet": true,
"LinkedHashSet": true, "LinkedHashSet": true,
"OrderedSet": true, "OrderedSet": true,
@ -1992,7 +2020,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2021,7 +2049,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2050,7 +2078,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2079,7 +2107,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2108,7 +2136,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2137,7 +2165,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2166,7 +2194,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2195,7 +2223,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2224,7 +2252,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2240,7 +2268,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -2248,7 +2280,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -2256,7 +2288,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -2267,7 +2299,7 @@
"CustomHashSet": true, "CustomHashSet": true,
"HashSet": true, "HashSet": true,
"ImmutableSet": true, "ImmutableSet": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashSet": true, "LinkedCustomHashSet": true,
"LinkedHashSet": true, "LinkedHashSet": true,
"OrderedSet": true, "OrderedSet": true,
@ -2298,7 +2330,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2327,7 +2359,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2356,7 +2388,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2385,7 +2417,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2414,7 +2446,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2443,7 +2475,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2472,7 +2504,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2501,7 +2533,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2530,7 +2562,7 @@
"EnumMap": true, "EnumMap": true,
"HashMap": true, "HashMap": true,
"ImmutableMap": true, "ImmutableMap": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashMap": true, "LinkedCustomHashMap": true,
"LinkedEnumMap": true, "LinkedEnumMap": true,
"LinkedHashMap": true, "LinkedHashMap": true,
@ -2546,7 +2578,11 @@
} }
}, },
"Collection": { "Collection": {
"Enabled": true "Enabled": true,
"IArray": true,
"Splititerators": true,
"Strategy": true,
"Streams": true
}, },
"PriorityQueue": { "PriorityQueue": {
"Enabled": true, "Enabled": true,
@ -2554,7 +2590,7 @@
"Dequeue": true, "Dequeue": true,
"FiFoQueue": true, "FiFoQueue": true,
"HeapQueue": true, "HeapQueue": true,
"Implementations": false, "Implementations": true,
"Wrappers": true "Wrappers": true
}, },
"List": { "List": {
@ -2562,7 +2598,7 @@
"ArrayList": true, "ArrayList": true,
"CopyOnWriteList": true, "CopyOnWriteList": true,
"ImmutableList": true, "ImmutableList": true,
"Implementations": false, "Implementations": true,
"LinkedList": true, "LinkedList": true,
"Wrappers": true "Wrappers": true
}, },
@ -2573,7 +2609,7 @@
"CustomHashSet": true, "CustomHashSet": true,
"HashSet": true, "HashSet": true,
"ImmutableSet": true, "ImmutableSet": true,
"Implementations": false, "Implementations": true,
"LinkedCustomHashSet": true, "LinkedCustomHashSet": true,
"LinkedHashSet": true, "LinkedHashSet": true,
"OrderedSet": true, "OrderedSet": true,

View File

@ -20,7 +20,7 @@ public class AsyncModule extends BaseModule
@Override @Override
protected void loadBlockades() { protected void loadBlockades() {
if(!isModuleEnabled()) { if(!isModuleEnabled()) {
addBlockedFiles("AsyncBuilder"); addBlockedFiles("AsyncBuilder", "Task");
} }
} }
@Override @Override

View File

@ -1,5 +1,9 @@
package speiger.src.builder.modules; package speiger.src.builder.modules;
import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
import speiger.src.builder.ClassType; import speiger.src.builder.ClassType;
@SuppressWarnings("javadoc") @SuppressWarnings("javadoc")
@ -12,12 +16,32 @@ public class CollectionModule extends BaseModule
@Override @Override
protected void loadVariables() {} protected void loadVariables() {}
@Override @Override
protected void loadFlags() {}
@Override
public boolean areDependenciesLoaded(){ return isDependencyLoaded(JavaModule.INSTANCE); } public boolean areDependenciesLoaded(){ return isDependencyLoaded(JavaModule.INSTANCE); }
@Override @Override
protected void loadBlockades() public Set<String> getModuleKeys(ClassType keyType, ClassType valueType)
{ {
return new TreeSet<>(Arrays.asList("Streams", "Splititerators", "IArray", "Strategy"));
}
@Override
protected void loadFlags() {
if(isModuleEnabled()) addKeyFlag("COLLECTION_MODULE");
if(isModuleEnabled("Streams")) addKeyFlag("STREAM_FEATURE");
if(isModuleEnabled("Splititerators")) addKeyFlag("SPLIT_ITERATOR_FEATURE");
if(isModuleEnabled("IArray")) addKeyFlag("IARRAY_FEATURE");
}
@Override
protected void loadBlockades() {
if(!isModuleEnabled()) {
addBlockedFiles("Iterable", "Iterables", "Iterator", "Iterators", "BidirectionalIterator", "ListIterator");
addBlockedFiles("Arrays", "Collection", "AbstractCollection", "Collections", "Stack");
}
if(!isModuleEnabled("Splititerators")) addBlockedFiles("Splititerator", "Splititerators");
if(!isModuleEnabled("IArray")) addBlockedFiles("IArray");
if(!isModuleEnabled("Strategy")) addBlockedFiles("Strategy");
if(keyType.isObject()) { if(keyType.isObject()) {
addBlockedFiles("Stack"); addBlockedFiles("Stack");
addBlockedFiles("CollectionStreamTester"); addBlockedFiles("CollectionStreamTester");

View File

@ -5,16 +5,20 @@ import java.util.Collection;
import java.util.Objects; import java.util.Objects;
import java.util.function.JAVA_PREDICATE; import java.util.function.JAVA_PREDICATE;
import java.util.function.Predicate; import java.util.function.Predicate;
#if SPLIT_ITERATOR_FEATURE && STREAM_FEATURE
import java.util.stream.JAVA_STREAM; import java.util.stream.JAVA_STREAM;
import java.util.stream.StreamSupport; import java.util.stream.StreamSupport;
#endif #endif
#endif
#if TYPE_OBJECT #if TYPE_OBJECT
import java.util.function.Consumer; import java.util.function.Consumer;
import speiger.src.collections.ints.functions.function.Int2ObjectFunction; import speiger.src.collections.ints.functions.function.Int2ObjectFunction;
#else #else
import speiger.src.collections.PACKAGE.functions.CONSUMER; import speiger.src.collections.PACKAGE.functions.CONSUMER;
#endif #endif
#if SPLIT_ITERATOR_FEATURE
import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS; import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS;
#endif
import speiger.src.collections.PACKAGE.utils.COLLECTIONS; import speiger.src.collections.PACKAGE.utils.COLLECTIONS;
import speiger.src.collections.utils.ISizeProvider; import speiger.src.collections.utils.ISizeProvider;
import speiger.src.collections.utils.SanityChecks; import speiger.src.collections.utils.SanityChecks;
@ -291,6 +295,7 @@ public interface COLLECTION KEY_GENERIC_TYPE extends Collection<CLASS_TYPE>, ITE
*/ */
public default COLLECTION KEY_GENERIC_TYPE unmodifiable() { return COLLECTIONS.unmodifiable(this); } public default COLLECTION KEY_GENERIC_TYPE unmodifiable() { return COLLECTIONS.unmodifiable(this); }
#if SPLIT_ITERATOR_FEATURE
#if PRIMITIVES #if PRIMITIVES
/** /**
* Returns a Java-Type-Specific Stream to reduce boxing/unboxing. * Returns a Java-Type-Specific Stream to reduce boxing/unboxing.
@ -303,11 +308,15 @@ public interface COLLECTION KEY_GENERIC_TYPE extends Collection<CLASS_TYPE>, ITE
* @return a Stream of the closest java type * @return a Stream of the closest java type
*/ */
default JAVA_STREAM parallelPrimitiveStream() { return StreamSupport.NEW_STREAM(SPLIT_ITERATORS.createJavaSplititerator(this, 0), true); } default JAVA_STREAM parallelPrimitiveStream() { return StreamSupport.NEW_STREAM(SPLIT_ITERATORS.createJavaSplititerator(this, 0), true); }
#endif #endif
#if STREAM_FEATURE
/** /**
* A Type Specific Type Splititerator to reduce boxing/unboxing * A Type Specific Type Splititerator to reduce boxing/unboxing
* @return type specific splititerator * @return type specific splititerator
*/ */
@Override @Override
default SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createSplititerator(this, 0); } default SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createSplititerator(this, 0); }
#endif
#endif
} }

View File

@ -49,7 +49,9 @@ import speiger.src.collections.PACKAGE.utils.ARRAYS;
#if ASYNC_MODULE #if ASYNC_MODULE
import speiger.src.collections.PACKAGE.utils.ASYNC_BUILDER; import speiger.src.collections.PACKAGE.utils.ASYNC_BUILDER;
#endif #endif
#if SPLIT_ITERATOR_FEATURE
import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS; import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS;
#endif
import speiger.src.collections.PACKAGE.utils.ITERABLES; import speiger.src.collections.PACKAGE.utils.ITERABLES;
import speiger.src.collections.PACKAGE.utils.ITERATORS; import speiger.src.collections.PACKAGE.utils.ITERATORS;
#if !LINKED_HASH_SET_FEATURE && LINKED_CUSTOM_HASH_SET_FEATURE #if !LINKED_HASH_SET_FEATURE && LINKED_CUSTOM_HASH_SET_FEATURE
@ -114,6 +116,7 @@ public interface ITERABLE KEY_GENERIC_TYPE extends Iterable<CLASS_TYPE>
iterator().forEachRemaining(input, action); iterator().forEachRemaining(input, action);
} }
#if SPLIT_ITERATOR_FEATURE
/** /**
* A Type Specific Type Splititerator to reduce boxing/unboxing * A Type Specific Type Splititerator to reduce boxing/unboxing
* @return type specific splititerator * @return type specific splititerator
@ -121,6 +124,7 @@ public interface ITERABLE KEY_GENERIC_TYPE extends Iterable<CLASS_TYPE>
@Override @Override
default SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createUnknownSplititerator(iterator(), 0); } default SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createUnknownSplititerator(iterator(), 0); }
#endif
#if ASYNC_MODULE #if ASYNC_MODULE
/** /**
* Creates a Async Builder for moving work of the thread. * Creates a Async Builder for moving work of the thread.

View File

@ -8,7 +8,10 @@ import java.util.Collection;
import java.util.Iterator; import java.util.Iterator;
import java.util.Objects; import java.util.Objects;
#if TYPE_OBJECT #if TYPE_OBJECT
#if IARRAY_FEATURE || TYPE_OBJECT
import java.util.function.Consumer; import java.util.function.Consumer;
#endif
import java.util.function.BiFunction; import java.util.function.BiFunction;
#endif #endif
import java.util.function.Predicate; import java.util.function.Predicate;
@ -38,33 +41,38 @@ import speiger.src.collections.utils.Stack;
#else #else
import speiger.src.collections.objects.utils.ObjectArrays; import speiger.src.collections.objects.utils.ObjectArrays;
#endif #endif
#if PRIMITIVES #if PRIMITIVES && SPLIT_ITERATOR_FEATURE && STREAM_FEATURE
import java.util.stream.JAVA_STREAM; import java.util.stream.JAVA_STREAM;
import java.util.stream.StreamSupport; import java.util.stream.StreamSupport;
#endif #endif
#if IARRAY_FEATURE
import speiger.src.collections.PACKAGE.utils.IARRAY; import speiger.src.collections.PACKAGE.utils.IARRAY;
#endif
#if SPLIT_ITERATOR_FEATURE
import speiger.src.collections.PACKAGE.collections.SPLIT_ITERATOR; import speiger.src.collections.PACKAGE.collections.SPLIT_ITERATOR;
import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS; import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS;
#endif
#if !IARRAY_FEATURE
import speiger.src.collections.utils.IArray;
#endif
import speiger.src.collections.utils.SanityChecks; import speiger.src.collections.utils.SanityChecks;
#if TYPE_OBJECT
/** /**
* A Type-Specific Array-based implementation of list that is written to reduce (un)boxing * A Type-Specific Array-based implementation of list that is written to reduce (un)boxing
* *
* <p>This implementation is optimized to improve how data is processed with interfaces like {@link IARRAY}, {@link Stack} #if IARRAY_FEATURE
* <p>This implementation is optimized to improve how data is processed with interfaces like {@link IARRAY}, {@link STACK}
#else
* <p>This implementation is optimized to improve how data is processed with interfaces like {@link IArray}, {@link STACK}
#endif
* and with optimized functions that use type-specific implementations for primitives and optimized logic for bulkactions. * and with optimized functions that use type-specific implementations for primitives and optimized logic for bulkactions.
* *
* @Type(T) * @Type(T)
*/ */
public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE implements IARRAY<KEY_TYPE>, Stack<KEY_TYPE> #if IARRAY_FEATURE
public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE implements IARRAY KEY_GENERIC_TYPE, STACK KEY_GENERIC_TYPE
#else #else
/** public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE implements IArray, STACK KEY_GENERIC_TYPE
* A Type-Specific Array-based implementation of list that is written to reduce (un)boxing
*
* <p>This implementation is optimized to improve how data is processed with interfaces like {@link IARRAY}, {@link STACK}
* and with optimized functions that use type-specific implementations for primitives and optimized logic for bulkactions.
*/
public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE implements IARRAY, STACK
#endif #endif
{ {
static final int DEFAULT_ARRAY_SIZE = 10; static final int DEFAULT_ARRAY_SIZE = 10;
@ -587,6 +595,7 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
return data[(size() - 1) - index]; return data[(size() - 1) - index];
} }
#if IARRAY_FEATURE
/** /**
* Provides the Underlying Array in the Implementation * Provides the Underlying Array in the Implementation
* @return underlying Array * @return underlying Array
@ -606,6 +615,7 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
return data.getClass() != Object[].class; return data.getClass() != Object[].class;
} }
#endif
#endif #endif
/** /**
* A Type Specific foreach function that reduces (un)boxing * A Type Specific foreach function that reduces (un)boxing
@ -1159,8 +1169,8 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size); throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
} }
#if SPLIT_ITERATOR_FEATURE
#if PRIMITIVES #if PRIMITIVES && STREAM_FEATURE
/** /**
* Returns a Java-Type-Specific Stream to reduce boxing/unboxing. * Returns a Java-Type-Specific Stream to reduce boxing/unboxing.
* @return a Stream of the closest java type * @return a Stream of the closest java type
@ -1177,4 +1187,5 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
*/ */
@Override @Override
public SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createArraySplititerator(data, size, 16464); } public SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createArraySplititerator(data, size, 16464); }
#endif
} }

View File

@ -41,12 +41,14 @@ import speiger.src.collections.utils.Stack;
#else #else
import speiger.src.collections.objects.utils.ObjectArrays; import speiger.src.collections.objects.utils.ObjectArrays;
#endif #endif
#if PRIMITIVES #if PRIMITIVES && STREAM_FEATURE && SPLIT_ITERATOR_FEATURE
import java.util.stream.JAVA_STREAM; import java.util.stream.JAVA_STREAM;
import java.util.stream.StreamSupport; import java.util.stream.StreamSupport;
#endif #endif
#if SPLIT_ITERATOR_FEATURE
import speiger.src.collections.PACKAGE.collections.SPLIT_ITERATOR; import speiger.src.collections.PACKAGE.collections.SPLIT_ITERATOR;
import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS; import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS;
#endif
import speiger.src.collections.utils.ITrimmable; import speiger.src.collections.utils.ITrimmable;
import speiger.src.collections.utils.SanityChecks; import speiger.src.collections.utils.SanityChecks;
@ -1409,7 +1411,8 @@ public class COPY_ON_WRITE_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENER
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + data.length); throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + data.length);
} }
#if PRIMITIVES #if SPLIT_ITERATOR_FEATURE
#if PRIMITIVES && STREAM_FEATURE
/** /**
* Returns a Java-Type-Specific Stream to reduce boxing/unboxing. * Returns a Java-Type-Specific Stream to reduce boxing/unboxing.
* @return a Stream of the closest java type * @return a Stream of the closest java type
@ -1427,6 +1430,7 @@ public class COPY_ON_WRITE_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENER
@Override @Override
public SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createArraySplititerator(data, data.length, 16464); } public SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createArraySplititerator(data, data.length, 16464); }
#endif
static final class COWIterator KEY_GENERIC_TYPE implements LIST_ITERATOR KEY_GENERIC_TYPE static final class COWIterator KEY_GENERIC_TYPE implements LIST_ITERATOR KEY_GENERIC_TYPE
{ {
KEY_TYPE[] data; KEY_TYPE[] data;
@ -2080,9 +2084,11 @@ public class COPY_ON_WRITE_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENER
} }
} }
#if SPLIT_ITERATOR_FEATURE
@Override @Override
public SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createSplititerator(this, 16464); } public SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createSplititerator(this, 16464); }
#endif
@Override @Override
public LIST_ITERATOR KEY_GENERIC_TYPE listIterator(int index) { public LIST_ITERATOR KEY_GENERIC_TYPE listIterator(int index) {
if(index < 0 || index > size()) throw new IndexOutOfBoundsException(); if(index < 0 || index > size()) throw new IndexOutOfBoundsException();

View File

@ -29,12 +29,14 @@ import speiger.src.collections.PACKAGE.functions.function.PREDICATE;
import speiger.src.collections.PACKAGE.functions.function.UNARY_OPERATOR; import speiger.src.collections.PACKAGE.functions.function.UNARY_OPERATOR;
import speiger.src.collections.objects.utils.ObjectArrays; import speiger.src.collections.objects.utils.ObjectArrays;
import speiger.src.collections.PACKAGE.utils.ITERATORS; import speiger.src.collections.PACKAGE.utils.ITERATORS;
#if PRIMITIVES #if PRIMITIVES && SPLIT_ITERATOR_FEATURE && STREAM_FEATURE
import java.util.stream.JAVA_STREAM; import java.util.stream.JAVA_STREAM;
import java.util.stream.StreamSupport; import java.util.stream.StreamSupport;
#endif #endif
#if SPLIT_ITERATOR_FEATURE
import speiger.src.collections.PACKAGE.collections.SPLIT_ITERATOR; import speiger.src.collections.PACKAGE.collections.SPLIT_ITERATOR;
import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS; import speiger.src.collections.PACKAGE.utils.SPLIT_ITERATORS;
#endif
import speiger.src.collections.utils.SanityChecks; import speiger.src.collections.utils.SanityChecks;
#if TYPE_OBJECT #if TYPE_OBJECT
@ -487,7 +489,8 @@ public class IMMUTABLE_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_T
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + data.length); throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + data.length);
} }
#if PRIMITIVES #if SPLIT_ITERATOR_FEATURE
#if PRIMITIVES && STREAM_FEATURE
/** /**
* Returns a Java-Type-Specific Stream to reduce boxing/unboxing. * Returns a Java-Type-Specific Stream to reduce boxing/unboxing.
* @return a Stream of the closest java type * @return a Stream of the closest java type
@ -505,6 +508,7 @@ public class IMMUTABLE_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_T
@Override @Override
public SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createArraySplititerator(data, data.length, 16464); } public SPLIT_ITERATOR KEY_GENERIC_TYPE spliterator() { return SPLIT_ITERATORS.createArraySplititerator(data, data.length, 16464); }
#endif
private class LIST_ITER implements LIST_ITERATOR KEY_GENERIC_TYPE { private class LIST_ITER implements LIST_ITERATOR KEY_GENERIC_TYPE {
int index; int index;

View File

@ -2,10 +2,14 @@ package speiger.src.collections.PACKAGE.utils;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
#if IARRAY_FEATURE
import java.util.Objects; import java.util.Objects;
#endif
import java.util.Random; import java.util.Random;
import java.util.RandomAccess; import java.util.RandomAccess;
#if IARRAY_FEATURE || TYPE_OBJECT
import java.util.function.Consumer; import java.util.function.Consumer;
#endif
#if PRIMITIVES #if PRIMITIVES
import java.nio.JAVA_BUFFER; import java.nio.JAVA_BUFFER;
#endif #endif
@ -17,7 +21,9 @@ import speiger.src.collections.PACKAGE.functions.CONSUMER;
import speiger.src.collections.PACKAGE.lists.ABSTRACT_LIST; import speiger.src.collections.PACKAGE.lists.ABSTRACT_LIST;
import speiger.src.collections.PACKAGE.lists.LIST; import speiger.src.collections.PACKAGE.lists.LIST;
import speiger.src.collections.PACKAGE.lists.LIST_ITERATOR; import speiger.src.collections.PACKAGE.lists.LIST_ITERATOR;
#if IARRAY_FEATURE
import speiger.src.collections.PACKAGE.utils.ARRAYS; import speiger.src.collections.PACKAGE.utils.ARRAYS;
#endif
import speiger.src.collections.utils.SanityChecks; import speiger.src.collections.utils.SanityChecks;
/** /**
@ -60,7 +66,11 @@ public class LISTS
* @return a synchronized list wrapper. If the list is implementing RandomAccess or IARRAY that is also transferred. If the List already a synchronized wrapper then it just returns itself. * @return a synchronized list wrapper. If the list is implementing RandomAccess or IARRAY that is also transferred. If the List already a synchronized wrapper then it just returns itself.
*/ */
public static GENERIC_KEY_BRACES LIST KEY_GENERIC_TYPE synchronize(LIST KEY_GENERIC_TYPE l) { public static GENERIC_KEY_BRACES LIST KEY_GENERIC_TYPE synchronize(LIST KEY_GENERIC_TYPE l) {
#if IARRAY_FEATURE
return l instanceof SynchronizedList ? l : (l instanceof IARRAY ? new SynchronizedArrayListBRACES(l) : (l instanceof RandomAccess ? new SynchronizedRandomAccessListBRACES(l) : new SynchronizedListBRACES(l))); return l instanceof SynchronizedList ? l : (l instanceof IARRAY ? new SynchronizedArrayListBRACES(l) : (l instanceof RandomAccess ? new SynchronizedRandomAccessListBRACES(l) : new SynchronizedListBRACES(l)));
#else
return l instanceof SynchronizedList ? l : (l instanceof RandomAccess ? new SynchronizedRandomAccessListBRACES(l) : new SynchronizedListBRACES(l));
#endif
} }
/** /**
@ -71,7 +81,11 @@ public class LISTS
* @return a synchronized list wrapper. If the list is implementing RandomAccess or IARRAY that is also transferred. If the List already a synchronized wrapper then it just returns itself. * @return a synchronized list wrapper. If the list is implementing RandomAccess or IARRAY that is also transferred. If the List already a synchronized wrapper then it just returns itself.
*/ */
public static GENERIC_KEY_BRACES LIST KEY_GENERIC_TYPE synchronize(LIST KEY_GENERIC_TYPE l, Object mutex) { public static GENERIC_KEY_BRACES LIST KEY_GENERIC_TYPE synchronize(LIST KEY_GENERIC_TYPE l, Object mutex) {
#if IARRAY_FEATURE
return l instanceof SynchronizedList ? l : (l instanceof IARRAY ? new SynchronizedArrayListBRACES(l, mutex) : (l instanceof RandomAccess ? new SynchronizedRandomAccessListBRACES(l, mutex) : new SynchronizedListBRACES(l, mutex))); return l instanceof SynchronizedList ? l : (l instanceof IARRAY ? new SynchronizedArrayListBRACES(l, mutex) : (l instanceof RandomAccess ? new SynchronizedRandomAccessListBRACES(l, mutex) : new SynchronizedListBRACES(l, mutex)));
#else
return l instanceof SynchronizedList ? l : (l instanceof RandomAccess ? new SynchronizedRandomAccessListBRACES(l, mutex) : new SynchronizedListBRACES(l, mutex));
#endif
} }
/** /**
@ -92,6 +106,7 @@ public class LISTS
*/ */
public static GENERIC_KEY_BRACES LIST KEY_GENERIC_TYPE reverse(LIST KEY_GENERIC_TYPE list) { public static GENERIC_KEY_BRACES LIST KEY_GENERIC_TYPE reverse(LIST KEY_GENERIC_TYPE list) {
int size = list.size(); int size = list.size();
#if IARRAY_FEATURE
if(list instanceof IARRAY) { if(list instanceof IARRAY) {
IARRAY KEY_GENERIC_TYPE array = (IARRAY KEY_GENERIC_TYPE)list; IARRAY KEY_GENERIC_TYPE array = (IARRAY KEY_GENERIC_TYPE)list;
#if TYPE_OBJECT #if TYPE_OBJECT
@ -106,6 +121,7 @@ public class LISTS
return list; return list;
#endif #endif
} }
#endif
if(list instanceof RandomAccess) { if(list instanceof RandomAccess) {
for (int i = 0, mid = size >> 1, j = size - 1; i < mid; i++, j--) { for (int i = 0, mid = size >> 1, j = size - 1; i < mid; i++, j--) {
KEY_TYPE t = list.GET_KEY(i); KEY_TYPE t = list.GET_KEY(i);
@ -143,6 +159,7 @@ public class LISTS
*/ */
public static GENERIC_KEY_BRACES LIST KEY_GENERIC_TYPE shuffle(LIST KEY_GENERIC_TYPE list, Random random) { public static GENERIC_KEY_BRACES LIST KEY_GENERIC_TYPE shuffle(LIST KEY_GENERIC_TYPE list, Random random) {
int size = list.size(); int size = list.size();
#if IARRAY_FEATURE
if(list instanceof IARRAY) { if(list instanceof IARRAY) {
IARRAY KEY_GENERIC_TYPE array = (IARRAY KEY_GENERIC_TYPE)list; IARRAY KEY_GENERIC_TYPE array = (IARRAY KEY_GENERIC_TYPE)list;
#if TYPE_OBJECT #if TYPE_OBJECT
@ -164,7 +181,8 @@ public class LISTS
#endif #endif
return list; return list;
} }
for(int i = list.size(); i-- != 0;) { #endif
for(int i = size; i-- != 0;) {
int p = random.nextInt(i + 1); int p = random.nextInt(i + 1);
KEY_TYPE t = list.GET_KEY(i); KEY_TYPE t = list.GET_KEY(i);
list.set(i, list.GET_KEY(p)); list.set(i, list.GET_KEY(p));
@ -231,6 +249,7 @@ public class LISTS
public SingletonList KEY_GENERIC_TYPE copy() { return new SingletonListBRACES(element); } public SingletonList KEY_GENERIC_TYPE copy() { return new SingletonListBRACES(element); }
} }
#if IARRAY_FEATURE
private static class SynchronizedArrayList KEY_GENERIC_TYPE extends SynchronizedList KEY_GENERIC_TYPE implements IARRAY KEY_GENERIC_TYPE private static class SynchronizedArrayList KEY_GENERIC_TYPE extends SynchronizedList KEY_GENERIC_TYPE implements IARRAY KEY_GENERIC_TYPE
{ {
IARRAY KEY_GENERIC_TYPE l; IARRAY KEY_GENERIC_TYPE l;
@ -271,6 +290,7 @@ public class LISTS
} }
} }
#endif
private static class SynchronizedRandomAccessList KEY_GENERIC_TYPE extends SynchronizedList KEY_GENERIC_TYPE implements RandomAccess private static class SynchronizedRandomAccessList KEY_GENERIC_TYPE extends SynchronizedList KEY_GENERIC_TYPE implements RandomAccess
{ {
SynchronizedRandomAccessList(LIST KEY_GENERIC_TYPE l) { SynchronizedRandomAccessList(LIST KEY_GENERIC_TYPE l) {