diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedCache.kt | 2 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/TimeLimitedSet.kt | 6 |
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() |
