public class Memoize
extends java.lang.Object
Constructor and Description |
---|
Memoize() |
Modifier and Type | Method and Description |
---|---|
static <T1,T2,R> Fn2<T1,T2,R> |
memoizeBiFunction(java.util.function.BiFunction<T1,T2,R> fn)
Convert a BiFunction into one that caches it's result
|
static <T1,T2,R> Fn2<T1,T2,R> |
memoizeBiFunction(java.util.function.BiFunction<T1,T2,R> fn,
Cacheable<R> cache)
Convert a BiFunction into one that caches it's result
|
static <T1,T2,R> Fn2<T1,T2,R> |
memoizeBiFunctionAsync(java.util.function.BiFunction<T1,T2,R> fn,
java.util.concurrent.ScheduledExecutorService ex,
long updateRateInMillis)
Memoize a function and update the cached values asynchronously using the provided Scheduled Executor Service
Does not support null keys
|
static <T1,T2,R> Fn2<T1,T2,R> |
memoizeBiFunctionAsync(java.util.function.BiFunction<T1,T2,R> fn,
java.util.concurrent.ScheduledExecutorService ex,
java.lang.String cron)
Memoize this function and update cached values on a schedule
Does not support null keys
|
static <T> java.util.concurrent.Callable<T> |
memoizeCallable(java.util.concurrent.Callable<T> s)
Convert a Callable into one that caches it's result
|
static <T> java.util.concurrent.Callable<T> |
memoizeCallable(java.util.concurrent.Callable<T> s,
Cacheable<T> cache)
Convert a Callable into one that caches it's result
|
static <T,R> Fn1<T,R> |
memoizeFunction(java.util.function.Function<T,R> fn)
Convert a Function into one that caches it's result
|
static <T,R> Fn1<T,R> |
memoizeFunction(java.util.function.Function<T,R> fn,
Cacheable<R> cache)
Convert a Function into one that caches it's result
|
static <T,R> Fn1<T,R> |
memoizeFunctionAsync(java.util.function.Function<T,R> fn,
java.util.concurrent.ScheduledExecutorService ex,
long updateRateInMillis)
Memoize a function and update the cached values asynchronously using the provided Scheduled Executor Service
Does not support null keys
|
static <T,R> Fn1<T,R> |
memoizeFunctionAsync(java.util.function.Function<T,R> fn,
java.util.concurrent.ScheduledExecutorService ex,
java.lang.String cron)
Memoize this function and update cached values on a schedule
Does not support null keys
|
static <T> java.util.function.Predicate<T> |
memoizePredicate(java.util.function.Predicate<T> p)
Convert a Predicate into one that caches it's result
|
static <T> java.util.function.Predicate<T> |
memoizePredicate(java.util.function.Predicate<T> p,
Cacheable<java.lang.Boolean> cache)
Convert a Predicate into one that caches it's result
|
static <T1,T2,T3,T4,R> |
memoizeQuadFunction(Fn4<T1,T2,T3,T4,R> fn)
Convert a QuadFunction into one that caches it's result
|
static <T1,T2,T3,T4,R> |
memoizeQuadFunction(Fn4<T1,T2,T3,T4,R> fn,
Cacheable<R> cache)
Convert a QuadFunction into one that caches it's result
|
static <T1,T2,T3,T4,R> |
memoizeQuadFunctionAsync(Fn4<T1,T2,T3,T4,R> fn,
java.util.concurrent.ScheduledExecutorService ex,
long updateRateInMillis)
Memoize a function and update the cached values asynchronously using the provided Scheduled Executor Service
Does not support null keys
|
static <T1,T2,T3,T4,R> |
memoizeQuadFunctionAsync(Fn4<T1,T2,T3,T4,R> fn,
java.util.concurrent.ScheduledExecutorService ex,
java.lang.String cron)
Memoize this function and update cached values on a schedule
Does not support null keys
|
static java.lang.Runnable |
memoizeRunnable(java.lang.Runnable r) |
static <T> Fn0<T> |
memoizeSupplier(java.util.function.Supplier<T> s)
Convert a Supplier into one that caches it's result
|
static <T> Fn0<T> |
memoizeSupplier(java.util.function.Supplier<T> s,
Cacheable<T> cache)
Convert a Supplier into one that caches it's result
|
static <R> Fn0<R> |
memoizeSupplierAsync(java.util.function.Supplier<R> fn,
java.util.concurrent.ScheduledExecutorService ex,
long updateRateInMillis)
Memoize a Supplier and update the cached values asynchronously using the provided Scheduled Executor Service
Does not support null keys
|
static <R> Fn0<R> |
memoizeSupplierAsync(java.util.function.Supplier<R> fn,
java.util.concurrent.ScheduledExecutorService ex,
java.lang.String cron)
Memoize a Supplier and update the cached values asynchronously using the provided Scheduled Executor Service
Does not support null keys
|
static <T1,T2,T3,R> |
memoizeTriFunction(Fn3<T1,T2,T3,R> fn)
Convert a TriFunction into one that caches it's result
|
static <T1,T2,T3,R> |
memoizeTriFunction(Fn3<T1,T2,T3,R> fn,
Cacheable<R> cache)
Convert a TriFunction into one that caches it's result
|
static <T1,T2,T3,R> |
memoizeTriFunctionAsync(Fn3<T1,T2,T3,R> fn,
java.util.concurrent.ScheduledExecutorService ex,
long updateRateInMillis)
Memoize a function and update the cached values asynchronously using the provided Scheduled Executor Service
Does not support null keys
|
static <T1,T2,T3,R> |
memoizeTriFunctionAsync(Fn3<T1,T2,T3,R> fn,
java.util.concurrent.ScheduledExecutorService ex,
java.lang.String cron)
Memoize this function and update cached values on a schedule
Does not support null keys
|
public static <T> Fn0<T> memoizeSupplier(java.util.function.Supplier<T> s)
s
- Supplier to memoisepublic static <T> Fn0<T> memoizeSupplier(java.util.function.Supplier<T> s, Cacheable<T> cache)
s
- Supplier to memoisecache
- Cachable to store the resultspublic static <R> Fn0<R> memoizeSupplierAsync(java.util.function.Supplier<R> fn, java.util.concurrent.ScheduledExecutorService ex, long updateRateInMillis)
R
- Return type of Functionfn
- Supplier to Memoizeex
- Scheduled Executor ServiceupdateRateInMillis
- Time in millis between async updatespublic static <R> Fn0<R> memoizeSupplierAsync(java.util.function.Supplier<R> fn, java.util.concurrent.ScheduledExecutorService ex, java.lang.String cron)
R
- Return type of Functionfn
- Supplier to Memoizeex
- Scheduled Executor Servicecron
- Expression to determine when async updates occurpublic static <T> java.util.concurrent.Callable<T> memoizeCallable(java.util.concurrent.Callable<T> s, Cacheable<T> cache)
s
- Callable to memoisecache
- Cachable to store the resultspublic static <T> java.util.concurrent.Callable<T> memoizeCallable(java.util.concurrent.Callable<T> s)
s
- Callable to memoisepublic static java.lang.Runnable memoizeRunnable(java.lang.Runnable r)
public static <T,R> Fn1<T,R> memoizeFunction(java.util.function.Function<T,R> fn)
fn
- Function to memoisepublic static <T,R> Fn1<T,R> memoizeFunctionAsync(java.util.function.Function<T,R> fn, java.util.concurrent.ScheduledExecutorService ex, long updateRateInMillis)
T
- Input Type of FunctionR
- Return type of Functionfn
- Function to Memoizeex
- Scheduled Executor ServiceupdateRateInMillis
- Time in millis between async updatespublic static <T,R> Fn1<T,R> memoizeFunctionAsync(java.util.function.Function<T,R> fn, java.util.concurrent.ScheduledExecutorService ex, java.lang.String cron)
T
- Input Type of FunctionR
- Return type of Functionfn
- Function to Memoizeex
- Scheduled Executor Servicecron
- Cron expression for updating cached values asynchonrouslypublic static <T,R> Fn1<T,R> memoizeFunction(java.util.function.Function<T,R> fn, Cacheable<R> cache)
fn
- Function to memoisecache
- Cachable to store the resultspublic static <T1,T2,R> Fn2<T1,T2,R> memoizeBiFunctionAsync(java.util.function.BiFunction<T1,T2,R> fn, java.util.concurrent.ScheduledExecutorService ex, long updateRateInMillis)
fn
- Function to Memoizeex
- Scheduled Executor ServiceupdateRateInMillis
- Time in millis between async updatespublic static <T1,T2,R> Fn2<T1,T2,R> memoizeBiFunctionAsync(java.util.function.BiFunction<T1,T2,R> fn, java.util.concurrent.ScheduledExecutorService ex, java.lang.String cron)
fn
- Function to Memoizeex
- Scheduled Executor Servicecron
- Cron expression for updating cached values asynchonrouslypublic static <T1,T2,R> Fn2<T1,T2,R> memoizeBiFunction(java.util.function.BiFunction<T1,T2,R> fn)
fn
- BiFunction to memoisepublic static <T1,T2,R> Fn2<T1,T2,R> memoizeBiFunction(java.util.function.BiFunction<T1,T2,R> fn, Cacheable<R> cache)
fn
- BiFunction to memoisecache
- Cachable to store the resultspublic static <T1,T2,T3,R> Fn3<T1,T2,T3,R> memoizeTriFunction(Fn3<T1,T2,T3,R> fn)
fn
- TriFunction to memoisepublic static <T1,T2,T3,R> Fn3<T1,T2,T3,R> memoizeTriFunctionAsync(Fn3<T1,T2,T3,R> fn, java.util.concurrent.ScheduledExecutorService ex, java.lang.String cron)
fn
- Function to Memoizeex
- Scheduled Executor Servicecron
- Cron expression for updating cached values asynchonrouslypublic static <T1,T2,T3,R> Fn3<T1,T2,T3,R> memoizeTriFunction(Fn3<T1,T2,T3,R> fn, Cacheable<R> cache)
fn
- TriFunction to memoisecache
- Cachable to store the resultspublic static <T1,T2,T3,R> Fn3<T1,T2,T3,R> memoizeTriFunctionAsync(Fn3<T1,T2,T3,R> fn, java.util.concurrent.ScheduledExecutorService ex, long updateRateInMillis)
fn
- Function to Memoizeex
- Scheduled Executor ServiceupdateRateInMillis
- Time in millis between async updatespublic static <T1,T2,T3,T4,R> Fn4<T1,T2,T3,T4,R> memoizeQuadFunction(Fn4<T1,T2,T3,T4,R> fn)
fn
- QuadFunction to memoisepublic static <T1,T2,T3,T4,R> Fn4<T1,T2,T3,T4,R> memoizeQuadFunctionAsync(Fn4<T1,T2,T3,T4,R> fn, java.util.concurrent.ScheduledExecutorService ex, java.lang.String cron)
fn
- Function to Memoizeex
- Scheduled Executor Servicecron
- Cron expression for updating cached values asynchonrouslypublic static <T1,T2,T3,T4,R> Fn4<T1,T2,T3,T4,R> memoizeQuadFunction(Fn4<T1,T2,T3,T4,R> fn, Cacheable<R> cache)
fn
- QuadFunction to memoisecache
- Cachable to store the resultspublic static <T1,T2,T3,T4,R> Fn4<T1,T2,T3,T4,R> memoizeQuadFunctionAsync(Fn4<T1,T2,T3,T4,R> fn, java.util.concurrent.ScheduledExecutorService ex, long updateRateInMillis)
fn
- Function to Memoizeex
- Scheduled Executor ServiceupdateRateInMillis
- Time in millis between async updatespublic static <T> java.util.function.Predicate<T> memoizePredicate(java.util.function.Predicate<T> p)
p
- Predicate to memoisepublic static <T> java.util.function.Predicate<T> memoizePredicate(java.util.function.Predicate<T> p, Cacheable<java.lang.Boolean> cache)
p
- Predicate to memoisecache
- Cachable to store the results