|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface StorageManager
| Nested Class Summary | |
|---|---|
static class |
StorageManager.ReferenceKind
|
| Method Summary | ||
|---|---|---|
|
createLazyValue(com.intellij.openapi.util.Computable<T> computable)
|
|
|
createLazyValueWithPostCompute(com.intellij.openapi.util.Computable<T> computable,
com.intellij.util.Consumer<T> postCompute)
postCompute is called after the value is computed, but before any other thread sees it (the current thread may
see it in between) |
|
|
createMemoizedFunction(com.intellij.util.Function<K,V> compute,
StorageManager.ReferenceKind valuesReferenceKind)
Given a function compute: K -> V create a memoized version of it that computes a value only once for each key |
|
|
createMemoizedFunctionWithNullableValues(com.intellij.util.Function<K,V> compute,
StorageManager.ReferenceKind valuesReferenceKind)
|
|
|
createNullableLazyValue(com.intellij.openapi.util.Computable<T> computable)
|
|
|
createNullableLazyValueWithPostCompute(com.intellij.openapi.util.Computable<T> computable,
com.intellij.util.Consumer<T> postCompute)
postCompute is called after the value is computed, but before any other thread sees it (the current thread may
see it in between) |
|
BindingTrace |
createSafeTrace(BindingTrace originalTrace)
|
|
| Method Detail |
|---|
@NotNull
<K,V> MemoizedFunctionToNotNull<K,V> createMemoizedFunction(@NotNull
com.intellij.util.Function<K,V> compute,
@NotNull
StorageManager.ReferenceKind valuesReferenceKind)
compute - the function to be memoizedvaluesReferenceKind - how to store the memoized values
NOTE: if compute() has side-effects the WEAK reference kind is dangerous: the side-effects will be repeated if
the value gets collected and then re-computed
@NotNull
<K,V> MemoizedFunctionToNullable<K,V> createMemoizedFunctionWithNullableValues(@NotNull
com.intellij.util.Function<K,V> compute,
@NotNull
StorageManager.ReferenceKind valuesReferenceKind)
@NotNull
<T> NotNullLazyValue<T> createLazyValue(@NotNull
com.intellij.openapi.util.Computable<T> computable)
@NotNull
<T> NotNullLazyValue<T> createLazyValueWithPostCompute(@NotNull
com.intellij.openapi.util.Computable<T> computable,
@NotNull
com.intellij.util.Consumer<T> postCompute)
postCompute is called after the value is computed, but before any other thread sees it (the current thread may
see it in between)
@NotNull
<T> NullableLazyValue<T> createNullableLazyValue(@NotNull
com.intellij.openapi.util.Computable<T> computable)
@NotNull
<T> NullableLazyValue<T> createNullableLazyValueWithPostCompute(@NotNull
com.intellij.openapi.util.Computable<T> computable,
@NotNull
com.intellij.util.Consumer<T> postCompute)
postCompute is called after the value is computed, but before any other thread sees it (the current thread may
see it in between)
@NotNull
BindingTrace createSafeTrace(@NotNull
BindingTrace originalTrace)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||