diff --git a/Changelog.md b/Changelog.md index b7a207d3..0f75ab74 100644 --- a/Changelog.md +++ b/Changelog.md @@ -7,4 +7,6 @@ - Removed: Suffixes for unmodifiable & synchronize functions. - Changed: Primitive Stacks no longer depend on the base Stack class. Because seriously not needed. - Changed: PriorityQueues no longer extends Object Variant. -- Changed: Maps.get function is no longer using Suffixes unless its absolutely necessary. \ No newline at end of file +- Changed: Maps.get function is no longer using Suffixes unless its absolutely necessary. +- Changed: Maps.remove function is no longer using Suffixes unless its absolutely necessary. +- Changed: ObjectList methods are no longer marked Deprecated even so it was for primitive ones. \ No newline at end of file diff --git a/build.gradle b/build.gradle index 806e859d..01993c04 100644 --- a/build.gradle +++ b/build.gradle @@ -65,6 +65,14 @@ task generateSource(type: JavaExec) { main = 'speiger.src.builder.PrimitiveCollectionsBuilder' } +task forceGenerateSource(type: JavaExec) { + group = 'internal' + description = 'Builds the sourcecode forceful' + classpath = sourceSets.builder.runtimeClasspath + main = 'speiger.src.builder.PrimitiveCollectionsBuilder' + args = ['true'] +} + task javadocJar(type: Jar) { from javadoc classifier = 'javadoc' diff --git a/src/builder/java/speiger/src/builder/GlobalVariables.java b/src/builder/java/speiger/src/builder/GlobalVariables.java index 9464e341..a1a88bf2 100644 --- a/src/builder/java/speiger/src/builder/GlobalVariables.java +++ b/src/builder/java/speiger/src/builder/GlobalVariables.java @@ -236,6 +236,8 @@ public class GlobalVariables addFunctionValueMapper("MERGE", "merge"); addFunctionMapper("NEXT", "next"); addFunctionMapper("PREVIOUS", "previous"); + if(type.isObject()) addFunctionMapper("REMOVE_VALUE", "rem"); + else addSimpleMapper("REMOVE_VALUE", "remove"); addFunctionMapper("REMOVE_KEY", "rem"); addFunctionMapper("REMOVE_LAST", "removeLast"); addFunctionMapper("REMOVE", "remove"); diff --git a/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java b/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java index ba15f334..5e14871a 100644 --- a/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java +++ b/src/builder/java/speiger/src/builder/PrimitiveCollectionsBuilder.java @@ -149,9 +149,13 @@ public class PrimitiveCollectionsBuilder extends TemplateProcessor { if(args.length == 0) { new PrimitiveCollectionsBuilder().process(false); + } else if(args.length == 1) { + new PrimitiveCollectionsBuilder().process(Boolean.parseBoolean(args[0])); } else if(args.length == 3) { new PrimitiveCollectionsBuilder(Paths.get(args[0]), Paths.get(args[1]), Paths.get(args[2])).process(false); - } else { + } else if(args.length == 4) { + new PrimitiveCollectionsBuilder(Paths.get(args[0]), Paths.get(args[1]), Paths.get(args[2])).process(Boolean.parseBoolean(args[3])); + } else { System.out.println("Invalid argument count passed in"); System.exit(1); } diff --git a/src/builder/resources/speiger/assets/collections/templates/collections/AbstractCollection.template b/src/builder/resources/speiger/assets/collections/templates/collections/AbstractCollection.template index 8c56de7d..d6b3a726 100644 --- a/src/builder/resources/speiger/assets/collections/templates/collections/AbstractCollection.template +++ b/src/builder/resources/speiger/assets/collections/templates/collections/AbstractCollection.template @@ -55,8 +55,6 @@ public abstract class ABSTRACT_COLLECTION KEY_GENERIC_TYPE extends AbstractColle return false; } -#endif - /** {@inheritDoc} *

This default implementation delegates to the corresponding type-specific function. * @deprecated Please use the corresponding type-specific function instead. @@ -67,6 +65,7 @@ public abstract class ABSTRACT_COLLECTION KEY_GENERIC_TYPE extends AbstractColle { return c instanceof COLLECTION ? addAll((COLLECTION KEY_GENERIC_TYPE)c) : super.addAll(c); } +#endif /** * A Type-Specific implementation of containsAll. This implementation iterates over all elements and checks all elements are present in the other collection. diff --git a/src/builder/resources/speiger/assets/collections/templates/lists/ArrayList.template b/src/builder/resources/speiger/assets/collections/templates/lists/ArrayList.template index bf3a7267..e99c0a70 100644 --- a/src/builder/resources/speiger/assets/collections/templates/lists/ArrayList.template +++ b/src/builder/resources/speiger/assets/collections/templates/lists/ArrayList.template @@ -381,7 +381,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE * A function to find if the Element is present in this list. * @param o the element that is searched for * @return if the element was found. - * @deprecated if type-specific but still supported because of special edgecase Object-Comparason features */ @Override @Primitive @@ -393,7 +392,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE * A function to find the index of a given element * @param o the element that is searched for * @return the index of the element if found. (if not found then -1) - * @deprecated if type-specific but still supported because of special edgecase Object-Comparason features */ @Override @Primitive @@ -417,7 +415,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE * A function to find the last index of a given element * @param o the element that is searched for * @return the last index of the element if found. (if not found then -1) - * @deprecated if type-specific but still supported because of special edgecase Object-Comparason features */ @Override @Primitive @@ -693,7 +690,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE * @param c the elements that should be removed * @return true if the collection was modified * @throws NullPointerException if the collection is null - * @deprecated if the collection is type-specific */ @Override @Primitive @@ -718,7 +714,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE * @param c the elements that should be kept. If empty, ARRAY_LIST#clear is called. * @return true if the collection was modified * @throws NullPointerException if the collection is null - * @deprecated if the collection is type-specific */ @Override @Primitive @@ -745,7 +740,6 @@ public class ARRAY_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE * A optimized List#removeIf(Predicate) that more quickly removes elements from the list then the ArrayList implementation * @param filter the filter to remove elements * @return true if the list was modified - * @deprecated if Type-Specific, use #remIf instead */ @Override @Primitive diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template index e1090a1a..d1783238 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/customHash/OpenCustomHashMap.template @@ -291,14 +291,14 @@ public class CUSTOM_HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VAL } @Override - public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { + public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) { int slot = findIndex(key); if(slot < 0) return getDefaultReturnValue(); return removeIndex(slot); } @Override - public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { + public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { int slot = findIndex(key); if(slot < 0) return defaultValue; return removeIndex(slot); diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template index 84626e58..36d5df1b 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/hash/OpenHashMap.template @@ -262,14 +262,14 @@ public class HASH_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GENE } @Override - public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { + public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) { int slot = findIndex(key); if(slot < 0) return getDefaultReturnValue(); return removeIndex(slot); } @Override - public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { + public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { int slot = findIndex(key); if(slot < 0) return defaultValue; return removeIndex(slot); diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template index 1c9c1868..2594fe15 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/misc/ArrayMap.template @@ -352,7 +352,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN } @Override - public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { + public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) { int index = findIndex(key); if(index < 0) return getDefaultReturnValue(); VALUE_TYPE value = values[index]; @@ -361,7 +361,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN } @Override - public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { + public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { int index = findIndex(key); if(index < 0) return defaultValue; VALUE_TYPE value = values[index]; @@ -861,7 +861,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN } @Override - public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { + public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) { int index = findIndex(key); if(index < 0) return getDefaultReturnValue(); VALUE_TYPE value = values[index]; @@ -871,7 +871,7 @@ public class ARRAY_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_GEN } @Override - public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { + public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { int index = findIndex(key); if(index < 0) return defaultValue; VALUE_TYPE value = values[index]; diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template index 7f221530..ca70fa40 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/AVLTreeMap.template @@ -421,7 +421,7 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_ } @Override - public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { + public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) { Entry KEY_VALUE_GENERIC_TYPE entry = findNode(key); if(entry == null) return getDefaultReturnValue(); VALUE_TYPE value = entry.value; @@ -430,7 +430,7 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_ } @Override - public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { + public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { Entry KEY_VALUE_GENERIC_TYPE entry = findNode(key); if(entry == null) return defaultValue; VALUE_TYPE value = entry.value; @@ -1205,13 +1205,13 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_ #endif @Override - public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { - return inRange(key) ? m.REMOVE_KEY(key) : getDefaultReturnValue(); + public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) { + return inRange(key) ? m.REMOVE_VALUE(key) : getDefaultReturnValue(); } @Override - public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { - return inRange(key) ? m.REMOVE_KEY(key) : defaultValue; + public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { + return inRange(key) ? m.REMOVE_VALUE(key) : defaultValue; } #if TYPE_OBJECT && VALUE_OBJECT diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template index 97704da8..18dbec1b 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/impl/tree/RBTreeMap.template @@ -420,7 +420,7 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G } @Override - public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { + public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) { Entry KEY_VALUE_GENERIC_TYPE entry = findNode(key); if(entry == null) return getDefaultReturnValue(); VALUE_TYPE value = entry.value; @@ -429,7 +429,7 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G } @Override - public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { + public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { Entry KEY_VALUE_GENERIC_TYPE entry = findNode(key); if(entry == null) return defaultValue; VALUE_TYPE value = entry.value; @@ -1262,13 +1262,13 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G #endif @Override - public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { - return inRange(key) ? m.REMOVE_KEY(key) : getDefaultReturnValue(); + public VALUE_TYPE REMOVE_VALUE(KEY_TYPE key) { + return inRange(key) ? m.REMOVE_VALUE(key) : getDefaultReturnValue(); } @Override - public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { - return inRange(key) ? m.REMOVE_KEY(key) : defaultValue; + public VALUE_TYPE REMOVE_VALUEOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { + return inRange(key) ? m.REMOVE_VALUE(key) : defaultValue; } #if TYPE_OBJECT && VALUE_OBJECT diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template b/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template index 9feb6d0f..c4fe0cf4 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/interfaces/Map.template @@ -156,7 +156,7 @@ public interface MAP KEY_VALUE_GENERIC_TYPE extends Map