You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Memoize calls to JDK interfaces like `Consumer`, `Function`, `Predicate`, `Supplier`, and more
13
13
* Memoize calls to [jOOL](https://github.com/jOOQ/jOOL) interfaces like `Consumer0..16` and `Function0..16`
14
+
* Memoize calls to [lambda](https://github.com/palatable/lambda) interfaces like `Fn0..8`
14
15
* Use custom caches like [Caffeine](https://github.com/ben-manes/caffeine), [Guava](https://github.com/google/guava/wiki/CachesExplained), [cache2k](https://cache2k.org/), or any other [`ConcurrentMap`](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/ConcurrentMap.html).
15
16
* Use custom cache keys for fine-tuning
16
17
@@ -20,12 +21,14 @@ Memoize any of the supported types by using the static factory methods supplied
20
21
21
22
*`Memoize` if you want to memoize JDK interfaces.
22
23
*`MemoizeJool` if you want to memoize jOOL interfaces.
24
+
*`MemoizeLambda` if you want to memoize lambda interfaces.
Note that `Memoize` and `MemoizeJool` do accept any `Map`, however they copy the entries in the map to a new `ConcurrentHashMap` in case the provided `Map` is not a `ConcurrentMap`. This is done in order to ensure atomic `computeIfAbsent` behavior.
@@ -145,6 +151,13 @@ In order to use this project, declare the following dependencies in your project
0 commit comments