summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedCache.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedSet.kt6
2 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedCache.kt b/src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedCache.kt
index caf5b7734..e17389c52 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedCache.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedCache.kt
@@ -25,6 +25,8 @@ class TimeLimitedCache<K: Any, V: Any>(
fun clear() = cache.invalidateAll()
+ fun remove(key: K) = cache.invalidate(key)
+
fun entries(): Set<Map.Entry<K, V>> = cache.asMap().entries
fun values(): Collection<V> = cache.asMap().values
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedSet.kt b/src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedSet.kt
index aab5595da..242d06cf0 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedSet.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedSet.kt
@@ -13,6 +13,12 @@ class TimeLimitedSet<T : Any>(
cache[element] = Unit
}
+ fun addIfAbsent(element: T) {
+ if (!contains(element)) add(element)
+ }
+
+ fun remove(element: T) = cache.remove(element)
+
operator fun contains(element: T): Boolean = cache.containsKey(element)
fun clear() = cache.clear()