Package org.apache.cassandra.utils
Class ExpiringMemoizingSupplier<T>
- java.lang.Object
-
- org.apache.cassandra.utils.ExpiringMemoizingSupplier<T>
-
- All Implemented Interfaces:
java.util.function.Supplier<T>
public class ExpiringMemoizingSupplier<T> extends java.lang.Object implements java.util.function.Supplier<T>
An implementation similar to Guava's Suppliers.memoizeWithExpiration(Supplier) but allowing for memoization to be skipped. See CASSANDRA-16148
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExpiringMemoizingSupplier.Memoized<T>
static class
ExpiringMemoizingSupplier.NotMemoized<T>
static class
ExpiringMemoizingSupplier.ReturnValue<T>
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
expire()
T
get()
static <T> java.util.function.Supplier<T>
memoizeWithExpiration(java.util.function.Supplier<ExpiringMemoizingSupplier.ReturnValue<T>> delegate, long duration, java.util.concurrent.TimeUnit unit)
java.lang.String
toString()
-
-
-
Method Detail
-
memoizeWithExpiration
public static <T> java.util.function.Supplier<T> memoizeWithExpiration(java.util.function.Supplier<ExpiringMemoizingSupplier.ReturnValue<T>> delegate, long duration, java.util.concurrent.TimeUnit unit)
-
expire
public void expire()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-