From cdcf5dc0875b6b914d878ea1d0cd2a0928c0d749 Mon Sep 17 00:00:00 2001 From: Speiger Date: Tue, 4 Jul 2023 17:07:02 +0200 Subject: [PATCH] Fixing a few things and testing more. Not useable atm. --- ModulSettings.json | 2604 +---------------- .../builder/PrimitiveCollectionsBuilder.java | 4 +- .../speiger/src/builder/SettingsManager.java | 129 +- .../builder/dependency/DependencyBase.java | 2 - .../dependency/DependencyFunction.java | 24 +- .../builder/dependency/DependencyModule.java | 50 +- .../builder/dependency/DependencyType.java | 13 +- .../builder/dependency/DependencyValue.java | 9 + .../src/builder/dependency/IDependency.java | 11 + .../src/builder/modules/AsyncModule.java | 7 +- .../src/builder/modules/BaseModule.java | 25 +- .../src/builder/modules/CollectionModule.java | 11 +- .../src/builder/modules/FunctionModule.java | 9 + .../src/builder/modules/JavaModule.java | 9 + .../src/builder/modules/ListModule.java | 17 +- .../src/builder/modules/MapModule.java | 23 +- .../src/builder/modules/PairModule.java | 6 +- .../src/builder/modules/PrioQueueModule.java | 11 +- .../src/builder/modules/SetModule.java | 21 +- 19 files changed, 247 insertions(+), 2738 deletions(-) diff --git a/ModulSettings.json b/ModulSettings.json index 9ea747b..7c0c7c5 100644 --- a/ModulSettings.json +++ b/ModulSettings.json @@ -1,2624 +1,46 @@ { - "Async": true, "Base": true, - "Collection": true, "Function": true, - "List": true, - "Map": true, - "Pair": true, - "PriorityQueue": true, - "Set": true, - "Boolean": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Collection": { - "Enabled": true, - "IArray": true, - "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true - }, - "List": { - "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, - "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Async": { - "Enabled": true - } - }, - "Byte": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Collection": { - "Enabled": true, - "IArray": true, - "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true - }, - "List": { - "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, - "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Set": { - "Enabled": true, - "AVLTreeSet": true, - "ArraySet": true, - "CustomHashSet": true, - "HashSet": true, - "ImmutableSet": true, - "Implementations": true, - "LinkedCustomHashSet": true, - "LinkedHashSet": true, - "OrderedSet": true, - "RBTreeSet": true, - "SortedSet": true, - "Wrappers": true - }, - "Async": { - "Enabled": true - } - }, - "Short": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Collection": { - "Enabled": true, - "IArray": true, - "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true - }, - "List": { - "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, - "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Set": { - "Enabled": true, - "AVLTreeSet": true, - "ArraySet": true, - "CustomHashSet": true, - "HashSet": true, - "ImmutableSet": true, - "Implementations": true, - "LinkedCustomHashSet": true, - "LinkedHashSet": true, - "OrderedSet": true, - "RBTreeSet": true, - "SortedSet": true, - "Wrappers": true - }, - "Async": { - "Enabled": true - } - }, "Character": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, "Map": { "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true + "HashMap": true } }, "Collection": { "Enabled": true, - "IArray": true, + "Streams": true, "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true - }, - "List": { - "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, - "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Set": { - "Enabled": true, - "AVLTreeSet": true, - "ArraySet": true, - "CustomHashSet": true, - "HashSet": true, - "ImmutableSet": true, - "Implementations": true, - "LinkedCustomHashSet": true, - "LinkedHashSet": true, - "OrderedSet": true, - "RBTreeSet": true, - "SortedSet": true, - "Wrappers": true - }, - "Async": { - "Enabled": true - } - }, - "Integer": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Collection": { - "Enabled": true, "IArray": true, - "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true - }, - "List": { - "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, - "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Set": { - "Enabled": true, - "AVLTreeSet": true, - "ArraySet": true, - "CustomHashSet": true, - "HashSet": true, - "ImmutableSet": true, - "Implementations": true, - "LinkedCustomHashSet": true, - "LinkedHashSet": true, - "OrderedSet": true, - "RBTreeSet": true, - "SortedSet": true, - "Wrappers": true - }, - "Async": { - "Enabled": true - } - }, - "Long": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Collection": { - "Enabled": true, - "IArray": true, - "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true - }, - "List": { - "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, - "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Set": { - "Enabled": true, - "AVLTreeSet": true, - "ArraySet": true, - "CustomHashSet": true, - "HashSet": true, - "ImmutableSet": true, - "Implementations": true, - "LinkedCustomHashSet": true, - "LinkedHashSet": true, - "OrderedSet": true, - "RBTreeSet": true, - "SortedSet": true, - "Wrappers": true - }, - "Async": { - "Enabled": true - } - }, - "Float": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Collection": { - "Enabled": true, - "IArray": true, - "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true - }, - "List": { - "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, - "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Set": { - "Enabled": true, - "AVLTreeSet": true, - "ArraySet": true, - "CustomHashSet": true, - "HashSet": true, - "ImmutableSet": true, - "Implementations": true, - "LinkedCustomHashSet": true, - "LinkedHashSet": true, - "OrderedSet": true, - "RBTreeSet": true, - "SortedSet": true, - "Wrappers": true - }, - "Async": { - "Enabled": true - } - }, - "Double": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Collection": { - "Enabled": true, - "IArray": true, - "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true - }, - "List": { - "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, - "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Set": { - "Enabled": true, - "AVLTreeSet": true, - "ArraySet": true, - "CustomHashSet": true, - "HashSet": true, - "ImmutableSet": true, - "Implementations": true, - "LinkedCustomHashSet": true, - "LinkedHashSet": true, - "OrderedSet": true, - "RBTreeSet": true, - "SortedSet": true, - "Wrappers": true - }, - "Async": { - "Enabled": true + "Strategy": false } }, "Object": { - "Enabled": true, - "Base": { - "Enabled": true - }, - "Boolean": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Byte": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Short": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Character": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Integer": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Long": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Float": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, - "Double": { - "Enabled": true, - "Function": { - "Enabled": true - }, - "Map": { - "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, - "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true - } - }, "Object": { - "Enabled": true, - "Function": { - "Enabled": true - }, "Map": { "Enabled": true, - "AVLTreeMap": true, - "ArrayMap": true, - "ConcurrentMap": true, - "CustomHashMap": true, - "EnumMap": true, - "HashMap": true, - "ImmutableMap": true, - "Implementations": true, - "LinkedCustomHashMap": true, - "LinkedEnumMap": true, - "LinkedHashMap": true, "OrderedMap": true, - "RBTreeMap": true, - "SortedMap": true, - "Wrappers": true - }, - "Pair": { - "Enabled": true, - "Immutable": true, - "Mutable": true + "Implementations": true, + "Wrappers": true, + "ImmutableMap": true, + "HashMap": true, + "LinkedHashMap": true } }, "Collection": { "Enabled": true, - "IArray": true, + "Streams": true, "Splititerators": true, - "Strategy": true, - "Streams": true - }, - "PriorityQueue": { - "Enabled": true, - "ArrayPrioQueue": true, - "Dequeue": true, - "FiFoQueue": true, - "HeapQueue": true, - "Implementations": true, - "Wrappers": true + "IArray": true, + "Strategy": false }, "List": { "Enabled": true, - "ArrayList": true, - "CopyOnWriteList": true, - "ImmutableList": true, "Implementations": true, - "LinkedList": true, - "Wrappers": true - }, - "Set": { - "Enabled": true, - "AVLTreeSet": true, - "ArraySet": true, - "CustomHashSet": true, - "HashSet": true, - "ImmutableSet": true, - "Implementations": true, - "LinkedCustomHashSet": true, - "LinkedHashSet": true, - "OrderedSet": true, - "RBTreeSet": true, - "SortedSet": true, - "Wrappers": true - }, - "Async": { - "Enabled": true + "Wrappers": true, + "ArrayList": true } } } \ No newline at end of file diff --git a/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java b/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java index 41bbc82..4ca3b0b 100644 --- a/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java +++ b/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java @@ -128,10 +128,12 @@ public class PrimitiveCollectionsBuilder extends TemplateProcessor for(int i = 0,m=modules.size();i moduleNames = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); + Set allDependencies = new LinkedHashSet<>(); - public boolean isModuleEnabled(BaseModule base, ClassType keyType, ClassType valueType) { - 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(base.isBiModule()) { - result = getObject(result, valueType.getClassPath(), false); - if(!isEnabled(result, "Enabled")) return false; + public void resolve() { + boolean valid = true; + for(int i = 0;i<10000 && valid;i++) { + boolean result = false; + for(IDependency entry : allDependencies) { + result |= entry.resolveDependencies(); + } + valid = result; } - result = getObject(result, base.getModuleName(), false); - return (result.size() <= 0 || isEnabled(result, "Enabled")) && base.areDependenciesLoaded(); - } - - public boolean isModuleEnabled(BaseModule base, ClassType keyType, ClassType valueType, String entry) - { - 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(base.isBiModule()) { - result = getObject(result, valueType.getClassPath(), false); - if(!isEnabled(result, "Enabled")) return false; - } - result = getObject(result, base.getModuleName(), false); - return (result.size() <= 0 || (isEnabled(result, "Enabled") && isEnabled(result, entry))) && base.areDependenciesLoaded(); + if(valid) throw new RuntimeException("Couldn't resolve dependencies!"); } public void addModule(BaseModule module) { - if(loaded) return; + if(loaded) { + if(module.isBiModule()) { + for(ClassType keyType : ModulePackage.TYPE) { + for(ClassType valueType : ModulePackage.TYPE) { + if(!module.isModuleValid(keyType, valueType)) continue; + for(IDependency dependency : module.getDependencies(keyType, valueType)) { + dependency.load(data, keyType, valueType); + allDependencies.add(dependency); + } + } + } + return; + } + for(ClassType keyType : ModulePackage.TYPE) { + if(!module.isModuleValid(keyType, keyType)) continue; + for(IDependency dependency : module.getDependencies(keyType, keyType)) { + dependency.load(data, keyType, keyType); + allDependencies.add(dependency); + } + } + return; + } String moduleName = module.getModuleName(); moduleNames.add(moduleName); data.addProperty(moduleName, true); @@ -57,9 +69,10 @@ public class SettingsManager for(ClassType valueType : ModulePackage.TYPE) { if(!module.isModuleValid(keyType, valueType)) continue; JsonObject obj = new JsonObject(); - obj.addProperty("Enabled", true); - for(String key : module.getModuleKeys(keyType, valueType)) { - obj.addProperty(key, true); + for(IDependency dependency : module.getDependencies(keyType, valueType)) { + String key = dependency.getName(); + if(key != null) obj.addProperty(key, true); + dependency.setLoaded(); } addModule(keyType, valueType, true, moduleName, obj); } @@ -69,14 +82,55 @@ public class SettingsManager for(ClassType keyType : ModulePackage.TYPE) { if(!module.isModuleValid(keyType, keyType)) continue; JsonObject obj = new JsonObject(); - obj.addProperty("Enabled", true); - for(String key : module.getModuleKeys(keyType, keyType)) { - obj.addProperty(key, true); + for(IDependency dependency : module.getDependencies(keyType, keyType)) { + String key = dependency.getName(); + if(key != null) obj.addProperty(key, true); + dependency.setLoaded(); } addModule(keyType, keyType, false, moduleName, obj); } } + public void printModuleSettings(List modules) { + JsonObject data = new JsonObject(); + for(BaseModule module : modules) { + String moduleName = module.getModuleName(); + if(module.isBiModule()) { + for(ClassType keyType : ModulePackage.TYPE) { + for(ClassType valueType : ModulePackage.TYPE) { + if(!module.isModuleValid(keyType, valueType)) continue; + JsonObject obj = new JsonObject(); + for(IDependency dependency : module.getDependencies(keyType, valueType)) { + String key = dependency.getName(); + if(key != null) obj.addProperty(key, dependency.getState(keyType, valueType).getJsonResult()); + } + addModule(data, keyType, valueType, true, moduleName, obj); + } + } + continue; + } + for(ClassType keyType : ModulePackage.TYPE) { + if(!module.isModuleValid(keyType, keyType)) continue; + JsonObject obj = new JsonObject(); + for(IDependency dependency : module.getDependencies(keyType, keyType)) { + String key = dependency.getName(); + if(key != null) obj.addProperty(key, dependency.getState(keyType, keyType).getJsonResult()); + } + addModule(data, keyType, keyType, false, moduleName, obj); + } + } + try { + System.out.println(); + JsonWriter writer = new JsonWriter(new OutputStreamWriter(System.out)); + writer.setIndent("\t"); + Streams.write(data, writer); + writer.flush(); + System.out.println(); + } catch (IOException e) { + e.printStackTrace(); + } + } + public void load() { try(BufferedReader reader = Files.newBufferedReader(Paths.get("ModulSettings.json"))) { data = JsonParser.parseReader(reader).getAsJsonObject(); @@ -100,6 +154,14 @@ public class SettingsManager catch(Exception e) { e.printStackTrace(); } } + private void addModule(JsonObject data, ClassType keyType, ClassType valueType, boolean bi, String moduleName, JsonObject obj) { + JsonObject result = getObject(data, keyType.getClassPath(), true); + if(bi) { + result = getObject(result, valueType.getClassPath(), true); + } + result.add(moduleName, obj); + } + private void addModule(ClassType keyType, ClassType valueType, boolean bi, String moduleName, JsonObject obj) { JsonObject result = getObject(data, keyType.getClassPath(), true); if(bi) { @@ -117,9 +179,4 @@ public class SettingsManager } return obj; } - - private boolean isEnabled(JsonObject obj, String key) { - if(obj.has(key)) return obj.getAsJsonPrimitive(key).getAsBoolean(); - return true; - } } diff --git a/src/builder/java/speiger/src/builder/dependency/DependencyBase.java b/src/builder/java/speiger/src/builder/dependency/DependencyBase.java index c925cce..01562a3 100644 --- a/src/builder/java/speiger/src/builder/dependency/DependencyBase.java +++ b/src/builder/java/speiger/src/builder/dependency/DependencyBase.java @@ -29,8 +29,6 @@ public abstract class DependencyBase implements IDependency { return children; } - public abstract boolean resolveDependencies(); - protected LoadingState getChildState(ClassType keyType, ClassType valueType) { LoadingState state = LoadingState.UNDEFINED; for(IDependency child : children) { diff --git a/src/builder/java/speiger/src/builder/dependency/DependencyFunction.java b/src/builder/java/speiger/src/builder/dependency/DependencyFunction.java index d3291ca..424dc2d 100644 --- a/src/builder/java/speiger/src/builder/dependency/DependencyFunction.java +++ b/src/builder/java/speiger/src/builder/dependency/DependencyFunction.java @@ -45,7 +45,7 @@ public abstract class DependencyFunction extends DependencyBase { public LoadingState getState(ClassType keyType, ClassType valueType) { return state[keyType.ordinal()]; } - + @Override public boolean resolveDependencies() { boolean returnType = false; @@ -60,6 +60,16 @@ public abstract class DependencyFunction extends DependencyBase { } return returnType; } + + @Override + public String getName() { + return functionName; + } + + @Override + public void setLoaded() { + Arrays.fill(state, LoadingState.LOADED); + } } public static class BiTypeFunction extends DependencyFunction { @@ -105,5 +115,17 @@ public abstract class DependencyFunction extends DependencyBase { } return returnType; } + + @Override + public String getName() { + return functionName; + } + + @Override + public void setLoaded() { + for(int i = 0;i merge.ordinal() ? this : merge; } + public LoadingState replaceIfDefined(LoadingState state) { + return state == UNDEFINED ? this : state; + } + public LoadingState mergeDown(LoadingState merge) { if(merge == UNLOADED || ordinal() > merge.ordinal()) { return this; @@ -36,5 +43,9 @@ public interface IDependency { } return merge; } + + public boolean getJsonResult() { + return this == LOADED; + } } } diff --git a/src/builder/java/speiger/src/builder/modules/AsyncModule.java b/src/builder/java/speiger/src/builder/modules/AsyncModule.java index 9df9331..82659ae 100644 --- a/src/builder/java/speiger/src/builder/modules/AsyncModule.java +++ b/src/builder/java/speiger/src/builder/modules/AsyncModule.java @@ -1,7 +1,12 @@ package speiger.src.builder.modules; +import java.util.Arrays; +import java.util.List; + +import speiger.src.builder.ClassType; import speiger.src.builder.dependency.DependencyModule; import speiger.src.builder.dependency.DependencyModule.SingleTypeModule; +import speiger.src.builder.dependency.IDependency; @SuppressWarnings("javadoc") public class AsyncModule extends BaseModule @@ -21,7 +26,7 @@ public class AsyncModule extends BaseModule @Override protected void loadFunctions() {} @Override - public boolean areDependenciesLoaded() { return isDependencyLoaded(CollectionModule.INSTANCE); } + public List getDependencies(ClassType keyType, ClassType valueType) { return Arrays.asList(MODULE); } @Override protected void loadBlockades() { if(MODULE.isEnabled()) { diff --git a/src/builder/java/speiger/src/builder/modules/BaseModule.java b/src/builder/java/speiger/src/builder/modules/BaseModule.java index 27ca50a..023c7fd 100644 --- a/src/builder/java/speiger/src/builder/modules/BaseModule.java +++ b/src/builder/java/speiger/src/builder/modules/BaseModule.java @@ -1,7 +1,7 @@ package speiger.src.builder.modules; import java.util.Collections; -import java.util.Set; +import java.util.List; import java.util.function.Consumer; import java.util.function.Predicate; @@ -9,6 +9,7 @@ import speiger.src.builder.ClassType; import speiger.src.builder.ModulePackage; import speiger.src.builder.RequiredType; import speiger.src.builder.SettingsManager; +import speiger.src.builder.dependency.IDependency; import speiger.src.builder.mappers.ArgumentMapper; import speiger.src.builder.mappers.InjectMapper; import speiger.src.builder.mappers.LineMapper; @@ -57,32 +58,12 @@ public abstract class BaseModule public abstract String getModuleName(); public boolean isBiModule() { return false; } - public Set getModuleKeys(ClassType keyType, ClassType valueType) { return Collections.emptySet(); } + public List getDependencies(ClassType keyType, ClassType valueType) { return Collections.emptyList(); } public boolean isModuleValid(ClassType keyType, ClassType valueType) { return true; } public ClassType keyType() { return keyType; } public ClassType valueType() { return valueType; } - protected boolean isModuleEnabled() { - return manager == null || manager.isModuleEnabled(this, keyType, valueType); - } - - protected boolean isModuleEnabled(String name) { - return manager == null || manager.isModuleEnabled(this, keyType, valueType, name); - } - - protected boolean isDependencyLoaded(BaseModule module) { - return isDependencyLoaded(module, true); - } - - protected boolean isDependencyLoaded(BaseModule module, boolean key) { - return manager == null || (module.isBiModule() ? manager.isModuleEnabled(module, keyType, valueType) : (key ? manager.isModuleEnabled(module, keyType, keyType) : manager.isModuleEnabled(module, valueType, valueType))); - } - - public boolean areDependenciesLoaded() { - return true; - } - protected void addFlag(String name) { entry.addFlag(name); } diff --git a/src/builder/java/speiger/src/builder/modules/CollectionModule.java b/src/builder/java/speiger/src/builder/modules/CollectionModule.java index 70cc888..4f84334 100644 --- a/src/builder/java/speiger/src/builder/modules/CollectionModule.java +++ b/src/builder/java/speiger/src/builder/modules/CollectionModule.java @@ -1,13 +1,13 @@ package speiger.src.builder.modules; import java.util.Arrays; -import java.util.Set; -import java.util.TreeSet; +import java.util.List; import speiger.src.builder.ClassType; import speiger.src.builder.dependency.DependencyFunction; import speiger.src.builder.dependency.DependencyModule; import speiger.src.builder.dependency.DependencyModule.SingleTypeModule; +import speiger.src.builder.dependency.IDependency; @SuppressWarnings("javadoc") public class CollectionModule extends BaseModule @@ -24,12 +24,7 @@ public class CollectionModule extends BaseModule @Override protected void loadVariables() {} @Override - public boolean areDependenciesLoaded() { return isDependencyLoaded(JavaModule.INSTANCE); } - - @Override - public Set getModuleKeys(ClassType keyType, ClassType valueType) { - return new TreeSet<>(Arrays.asList("Streams", "Splititerators", "IArray", "Strategy")); - } + public List getDependencies(ClassType keyType, ClassType valueType) { return Arrays.asList(MODULE, STREAMS, SPLIT_ITERATORS, IARRAY, STRATEGY); } @Override protected void loadFlags() { diff --git a/src/builder/java/speiger/src/builder/modules/FunctionModule.java b/src/builder/java/speiger/src/builder/modules/FunctionModule.java index 54c53ab..312cdc1 100644 --- a/src/builder/java/speiger/src/builder/modules/FunctionModule.java +++ b/src/builder/java/speiger/src/builder/modules/FunctionModule.java @@ -1,8 +1,12 @@ package speiger.src.builder.modules; +import java.util.Arrays; +import java.util.List; + import speiger.src.builder.ClassType; import speiger.src.builder.RequiredType; import speiger.src.builder.dependency.DependencyModule; +import speiger.src.builder.dependency.IDependency; import speiger.src.builder.dependency.DependencyModule.BiTypeModule; @SuppressWarnings("javadoc") @@ -22,6 +26,11 @@ public class FunctionModule extends BaseModule @Override protected void loadTestClasses() {} + @Override + public List getDependencies(ClassType keyType, ClassType valueType) { + return Arrays.asList(MODULE); + } + @Override protected void loadBlockades() { diff --git a/src/builder/java/speiger/src/builder/modules/JavaModule.java b/src/builder/java/speiger/src/builder/modules/JavaModule.java index cc15290..427bad6 100644 --- a/src/builder/java/speiger/src/builder/modules/JavaModule.java +++ b/src/builder/java/speiger/src/builder/modules/JavaModule.java @@ -1,7 +1,11 @@ package speiger.src.builder.modules; +import java.util.Arrays; +import java.util.List; + import speiger.src.builder.ClassType; import speiger.src.builder.dependency.DependencyBase; +import speiger.src.builder.dependency.IDependency; import speiger.src.builder.dependency.DependencyModule.SingleTypeModule; @SuppressWarnings("javadoc") @@ -20,6 +24,11 @@ public class JavaModule extends BaseModule loadBaseVariables(); } + @Override + public List getDependencies(ClassType keyType, ClassType valueType) { + return Arrays.asList(MODULE); + } + @Override protected void loadFlags() { diff --git a/src/builder/java/speiger/src/builder/modules/ListModule.java b/src/builder/java/speiger/src/builder/modules/ListModule.java index ab62e0a..40925a4 100644 --- a/src/builder/java/speiger/src/builder/modules/ListModule.java +++ b/src/builder/java/speiger/src/builder/modules/ListModule.java @@ -1,13 +1,13 @@ package speiger.src.builder.modules; import java.util.Arrays; -import java.util.Set; -import java.util.TreeSet; +import java.util.List; import speiger.src.builder.ClassType; import speiger.src.builder.dependency.DependencyFunction; import speiger.src.builder.dependency.DependencyModule; import speiger.src.builder.dependency.DependencyModule.SingleTypeModule; +import speiger.src.builder.dependency.IDependency; @SuppressWarnings("javadoc") public class ListModule extends BaseModule @@ -24,6 +24,8 @@ public class ListModule extends BaseModule @Override public String getModuleName() { return "List"; } @Override + public List getDependencies(ClassType keyType, ClassType valueType) { return Arrays.asList(MODULE, IMPLEMENTATION, WRAPPERS, ARRAY_LIST, LINKED_LIST, IMMUTABLE_LIST, COPY_ON_WRITE_LIST); } + @Override protected void loadVariables() {} @Override protected void loadFlags() { @@ -45,19 +47,12 @@ public class ListModule extends BaseModule if(!COPY_ON_WRITE_LIST.isEnabled()) addBlockedFiles("CopyOnWriteList"); if(!MODULE.isEnabled()) addBlockedFiles("List", "AbstractList"); + if(keyType.isObject()) addBlockedFiles("ListFillBufferTester"); if(keyType == ClassType.BOOLEAN) addBlockedFiles("ListFillBufferTester", "ListReplaceAllTester"); } - @Override - public Set getModuleKeys(ClassType keyType, ClassType valueType) { - return new TreeSet<>(Arrays.asList("Implementations", "Wrappers", "ArrayList", "LinkedList", "ImmutableList", "CopyOnWriteList")); - } - - @Override - public boolean areDependenciesLoaded() { - return isDependencyLoaded(CollectionModule.INSTANCE); - } + @Override protected void loadRemappers() diff --git a/src/builder/java/speiger/src/builder/modules/MapModule.java b/src/builder/java/speiger/src/builder/modules/MapModule.java index 9104dce..4439a5b 100644 --- a/src/builder/java/speiger/src/builder/modules/MapModule.java +++ b/src/builder/java/speiger/src/builder/modules/MapModule.java @@ -1,8 +1,7 @@ package speiger.src.builder.modules; import java.util.Arrays; -import java.util.Set; -import java.util.TreeSet; +import java.util.List; import speiger.src.builder.ClassType; import speiger.src.builder.dependency.DependencyFunction; @@ -10,6 +9,7 @@ import speiger.src.builder.dependency.DependencyModule; import speiger.src.builder.dependency.DependencyModule.BiTypeModule; import speiger.src.builder.dependency.DependencyType; import speiger.src.builder.dependency.DependencyValue; +import speiger.src.builder.dependency.IDependency; @SuppressWarnings("javadoc") public class MapModule extends BaseModule @@ -22,8 +22,8 @@ public class MapModule extends BaseModule }); public static final DependencyFunction WRAPPERS = MODULE.createFunction("Wrappers"); public static final DependencyFunction IMPLEMENTATION = MODULE.createFunction("Implementations"); - public static final DependencyFunction ORDERED_MAP = MODULE.createFunction("Wrappers"); - public static final DependencyFunction SORTED_MAP = MODULE.createFunction("Wrappers"); + public static final DependencyFunction ORDERED_MAP = MODULE.createFunction("OrderedMap"); + public static final DependencyFunction SORTED_MAP = MODULE.createFunction("SortedMap"); public static final DependencyFunction ARRAY_MAP = ORDERED_MAP.addChild(IMPLEMENTATION.createSubFunction("ArrayMap")); public static final DependencyFunction IMMUTABLE_MAP = IMPLEMENTATION.createSubFunction("ImmutableMap"); public static final DependencyFunction HASH_MAP = IMPLEMENTATION.createSubFunction("HashMap"); @@ -45,20 +45,7 @@ public class MapModule extends BaseModule @Override public boolean isModuleValid(ClassType keyType, ClassType valueType) { return keyType != ClassType.BOOLEAN; } @Override - public boolean areDependenciesLoaded() { return isDependencyLoaded(SetModule.INSTANCE) && isDependencyLoaded(CollectionModule.INSTANCE, false); } - - @Override - public Set getModuleKeys(ClassType keyType, ClassType valueType) { - Set sets = new TreeSet<>(); - sets.addAll(Arrays.asList("Wrappers", "Implementations")); - 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; - } + public List getDependencies(ClassType keyType, ClassType valueType) { return Arrays.asList(MODULE, ORDERED_MAP, SORTED_MAP, IMPLEMENTATION, WRAPPERS, ARRAY_MAP, IMMUTABLE_MAP, HASH_MAP, LINKED_MAP, CUSTOM_MAP, LINKED_CUSTOM_MAP, ENUM_MAP, LINKED_ENUM_MAP, CONCURRENT_MAP, AVL_TREE_MAP, RB_TREE_MAP); } @Override protected void loadFlags() diff --git a/src/builder/java/speiger/src/builder/modules/PairModule.java b/src/builder/java/speiger/src/builder/modules/PairModule.java index 71fe89a..e4286c5 100644 --- a/src/builder/java/speiger/src/builder/modules/PairModule.java +++ b/src/builder/java/speiger/src/builder/modules/PairModule.java @@ -1,13 +1,13 @@ package speiger.src.builder.modules; import java.util.Arrays; -import java.util.Set; -import java.util.TreeSet; +import java.util.List; import speiger.src.builder.ClassType; import speiger.src.builder.dependency.DependencyFunction; import speiger.src.builder.dependency.DependencyModule; import speiger.src.builder.dependency.DependencyModule.BiTypeModule; +import speiger.src.builder.dependency.IDependency; @SuppressWarnings("javadoc") public class PairModule extends BaseModule @@ -28,7 +28,7 @@ public class PairModule extends BaseModule @Override protected void loadTestClasses() {} @Override - public Set getModuleKeys(ClassType keyType, ClassType valueType) { return new TreeSet<>(Arrays.asList("Mutable", "Immutable")); } + public List getDependencies(ClassType keyType, ClassType valueType) { return Arrays.asList(MODULE, IMMUTABLE, MUTABLE); } @Override protected void loadFlags() { diff --git a/src/builder/java/speiger/src/builder/modules/PrioQueueModule.java b/src/builder/java/speiger/src/builder/modules/PrioQueueModule.java index a591735..2a6f131 100644 --- a/src/builder/java/speiger/src/builder/modules/PrioQueueModule.java +++ b/src/builder/java/speiger/src/builder/modules/PrioQueueModule.java @@ -1,13 +1,13 @@ package speiger.src.builder.modules; import java.util.Arrays; -import java.util.Set; -import java.util.TreeSet; +import java.util.List; import speiger.src.builder.ClassType; import speiger.src.builder.dependency.DependencyFunction; import speiger.src.builder.dependency.DependencyModule; import speiger.src.builder.dependency.DependencyModule.SingleTypeModule; +import speiger.src.builder.dependency.IDependency; @SuppressWarnings("javadoc") public class PrioQueueModule extends BaseModule @@ -28,12 +28,7 @@ public class PrioQueueModule extends BaseModule @Override protected void loadFunctions() {} @Override - public boolean areDependenciesLoaded() { return isDependencyLoaded(CollectionModule.INSTANCE); } - - @Override - public Set getModuleKeys(ClassType keyType, ClassType valueType) { - return new TreeSet<>(Arrays.asList("Wrappers", "Implementations", "Dequeue", "FiFoQueue", "HeapQueue", "ArrayPrioQueue")); - } + public List getDependencies(ClassType keyType, ClassType valueType) { return Arrays.asList(MODULE, WRAPPERS, IMPLEMENTATION, DEQUEUE, FIFO_QUEUE, HEAP_QUEUE, ARRAY_PRIO_QUEUE); } @Override protected void loadFlags() { diff --git a/src/builder/java/speiger/src/builder/modules/SetModule.java b/src/builder/java/speiger/src/builder/modules/SetModule.java index 315a9e1..82c5b3b 100644 --- a/src/builder/java/speiger/src/builder/modules/SetModule.java +++ b/src/builder/java/speiger/src/builder/modules/SetModule.java @@ -1,13 +1,13 @@ package speiger.src.builder.modules; import java.util.Arrays; -import java.util.Set; -import java.util.TreeSet; +import java.util.List; import speiger.src.builder.ClassType; import speiger.src.builder.dependency.DependencyFunction; import speiger.src.builder.dependency.DependencyModule; import speiger.src.builder.dependency.DependencyModule.SingleTypeModule; +import speiger.src.builder.dependency.IDependency; @SuppressWarnings("javadoc") public class SetModule extends BaseModule @@ -16,8 +16,8 @@ public class SetModule extends BaseModule public static final DependencyModule MODULE = CollectionModule.MODULE.addChild(new SingleTypeModule(INSTANCE)); public static final DependencyFunction WRAPPERS = MODULE.createFunction("Wrappers"); public static final DependencyFunction IMPLEMENTATION = MODULE.createFunction("Implementations"); - public static final DependencyFunction ORDERED_SET = MODULE.createFunction("Wrappers"); - public static final DependencyFunction SORTED_SET = MODULE.createFunction("Wrappers"); + public static final DependencyFunction ORDERED_SET = MODULE.createFunction("OrderedSet"); + public static final DependencyFunction SORTED_SET = MODULE.createFunction("SortedSet"); public static final DependencyFunction ARRAY_SET = ORDERED_SET.addChild(IMPLEMENTATION.createSubFunction("ArraySet")); public static final DependencyFunction IMMUTABLE_SET = IMPLEMENTATION.createSubFunction("ImmutableSet"); public static final DependencyFunction HASH_SET = IMPLEMENTATION.createSubFunction("HashSet"); @@ -35,18 +35,7 @@ public class SetModule extends BaseModule @Override public boolean isModuleValid(ClassType keyType, ClassType valueType) { return keyType != ClassType.BOOLEAN; } @Override - public boolean areDependenciesLoaded() { return isDependencyLoaded(CollectionModule.INSTANCE); } - @Override - public Set getModuleKeys(ClassType keyType, ClassType valueType) { - Set sets = new TreeSet<>(); - sets.addAll(Arrays.asList("Wrappers", "Implementations")); - sets.addAll(Arrays.asList("OrderedSet", "SortedSet")); - sets.addAll(Arrays.asList("ArraySet", "ImmutableSet")); - sets.addAll(Arrays.asList("HashSet", "LinkedHashSet")); - sets.addAll(Arrays.asList("CustomHashSet", "LinkedCustomHashSet")); - sets.addAll(Arrays.asList("AVLTreeSet", "RBTreeSet")); - return sets; - } + public List getDependencies(ClassType keyType, ClassType valueType) { return Arrays.asList(MODULE, WRAPPERS, ORDERED_SET, SORTED_SET, IMPLEMENTATION, ARRAY_SET, IMMUTABLE_SET, HASH_SET, LINKED_SET, CUSTOM_SET, LINKED_CUSTOM_SET, AVL_TREE_SET, RB_TREE_SET); } @Override protected void loadFlags()