org.jetbrains.jet.utils
Class NullableMemoizedFunction<K,V>

java.lang.Object
  extended by org.jetbrains.jet.utils.NullableMemoizedFunction<K,V>
All Implemented Interfaces:
com.intellij.util.Function<K,V>, com.intellij.util.NullableFunction<K,V>
Direct Known Subclasses:
NotNullMemoizedFunction

public abstract class NullableMemoizedFunction<K,V>
extends java.lang.Object
implements com.intellij.util.NullableFunction<K,V>


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.intellij.util.Function
com.intellij.util.Function.First<P,R extends P>, com.intellij.util.Function.FirstInCollection<P,R extends P>, com.intellij.util.Function.Predefined, com.intellij.util.Function.Self<P,R>
 
Field Summary
 
Fields inherited from interface com.intellij.util.NullableFunction
NULL
 
Fields inherited from interface com.intellij.util.Function
ID, TO_STRING
 
Constructor Summary
NullableMemoizedFunction()
           
NullableMemoizedFunction(java.util.Map<K,java.lang.Object> map)
           
 
Method Summary
protected abstract  V compute(K input)
           
static
<K,V> com.intellij.util.NullableFunction<K,V>
create(com.intellij.util.Function<K,V> compute)
           
 V fun(K input)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NullableMemoizedFunction

public NullableMemoizedFunction(@NotNull
                                java.util.Map<K,java.lang.Object> map)

NullableMemoizedFunction

public NullableMemoizedFunction()
Method Detail

create

public static <K,V> com.intellij.util.NullableFunction<K,V> create(@NotNull
                                                                   com.intellij.util.Function<K,V> compute)

fun

@Nullable
public V fun(@NotNull
                      K input)
Specified by:
fun in interface com.intellij.util.Function<K,V>
Specified by:
fun in interface com.intellij.util.NullableFunction<K,V>

compute

@Nullable
protected abstract V compute(@NotNull
                                      K input)