From 7fcfecf308a08fab79bb177012c7cb2ab10a68b3 Mon Sep 17 00:00:00 2001 From: Speiger Date: Sat, 22 May 2021 05:50:40 +0200 Subject: [PATCH] New Features. -Added: removeOrDefault function -Added: New functions into implementations --- .../maps/abstracts/AbstractMap.template | 2 +- .../customHash/OpenCustomHashMap.template | 7 +++++++ .../maps/impl/hash/OpenHashMap.template | 7 +++++++ .../maps/impl/misc/ArrayMap.template | 19 +++++++++++++++++++ .../templates/maps/impl/misc/EnumMap.template | 10 ++++++++++ .../maps/impl/tree/AVLTreeMap.template | 14 ++++++++++++++ .../maps/impl/tree/RBTreeMap.template | 14 ++++++++++++++ .../templates/maps/interfaces/Map.template | 10 +++++++++- .../templates/utils/maps/Maps.template | 17 +++++++++++++++++ 9 files changed, 98 insertions(+), 2 deletions(-) diff --git a/src/builder/resources/speiger/assets/collections/templates/maps/abstracts/AbstractMap.template b/src/builder/resources/speiger/assets/collections/templates/maps/abstracts/AbstractMap.template index c4ed8d61..3f03bbd3 100644 --- a/src/builder/resources/speiger/assets/collections/templates/maps/abstracts/AbstractMap.template +++ b/src/builder/resources/speiger/assets/collections/templates/maps/abstracts/AbstractMap.template @@ -180,7 +180,7 @@ public abstract class ABSTRACT_MAP KEY_VALUE_GENERIC_TYPE extends AbstractMap m) { synchronized(mutex) { map.putAll(m); } } + @Override + public void putAll(KEY_TYPE[] keys, VALUE_TYPE[] values, int offset, int size) { synchronized(mutex) { map.putAll(keys, values, offset, size); } } + #if !TYPE_OBJECT @Override public boolean containsKey(KEY_TYPE key) { synchronized(mutex) { return map.containsKey(key); } } @@ -788,6 +799,8 @@ public class MAPS public VALUE_TYPE GET_VALUE(KEY_TYPE key) { synchronized(mutex) { return map.GET_VALUE(key); } } @Override public VALUE_TYPE REMOVE_KEY(KEY_TYPE key) { synchronized(mutex) { return map.REMOVE_KEY(key); } } + @Override + public VALUE_TYPE REMOVE_KEYOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { synchronized(mutex) { return map.REMOVE_KEYOrDefault(key, defaultValue); } } #if !TYPE_OBJECT || !VALUE_OBJECT @Override public boolean remove(KEY_TYPE key, VALUE_TYPE value) { synchronized(mutex) { return map.remove(key, value); } } @@ -797,6 +810,8 @@ public class MAPS @Override public VALUE_TYPE replace(KEY_TYPE key, VALUE_TYPE value) { synchronized(mutex) { return map.replace(key, value); } } @Override + public void REPLACE_VALUES(MAP KEY_VALUE_GENERIC_TYPE m) { synchronized(mutex) { map.REPLACE_VALUES(m); } } + @Override public void REPLACE_VALUES(UNARY_OPERATOR KEY_VALUE_GENERIC_TYPE mappingFunction) { synchronized(mutex) { map.REPLACE_VALUES(mappingFunction); } } @Override public VALUE_TYPE COMPUTE(KEY_TYPE key, UNARY_OPERATOR KEY_VALUE_GENERIC_TYPE mappingFunction) { synchronized(mutex) { return map.COMPUTE(key, mappingFunction); } } @@ -806,6 +821,8 @@ public class MAPS public VALUE_TYPE COMPUTE_IF_PRESENT(KEY_TYPE key, UNARY_OPERATOR KEY_VALUE_GENERIC_TYPE mappingFunction) { synchronized(mutex) { return map.COMPUTE_IF_PRESENT(key, mappingFunction); } } @Override public VALUE_TYPE MERGE(KEY_TYPE key, VALUE_TYPE value, VALUE_UNARY_OPERATOR VALUE_VALUE_GENERIC_TYPE mappingFunction) { synchronized(mutex) { return map.MERGE(key, value, mappingFunction); } } + @Override + public void BULK_MERGE(MAP KEY_VALUE_GENERIC_TYPE m, VALUE_UNARY_OPERATOR VALUE_VALUE_GENERIC_TYPE mappingFunction) { synchronized(mutex) { map.BULK_MERGE(m, mappingFunction); } } #if !TYPE_OBJECT || !VALUE_OBJECT @Override public VALUE_TYPE getOrDefault(KEY_TYPE key, VALUE_TYPE defaultValue) { synchronized(mutex) { return map.getOrDefault(key, defaultValue); } }