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

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

public abstract class NotNullMemoizedFunction<K,V>
extends NullableMemoizedFunction<K,V>
implements com.intellij.util.NotNullFunction<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
NotNullMemoizedFunction()
           
NotNullMemoizedFunction(java.util.Map<K,java.lang.Object> map)
           
 
Method Summary
protected abstract  V compute(K input)
           
static
<K,V> com.intellij.util.NotNullFunction<K,V>
create(com.intellij.util.NotNullFunction<K,V> compute)
           
 V fun(K input)
           
 
Methods inherited from class org.jetbrains.jet.utils.NullableMemoizedFunction
create
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NotNullMemoizedFunction

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

NotNullMemoizedFunction

public NotNullMemoizedFunction()
Method Detail

create

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

fun

@NotNull
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.NotNullFunction<K,V>
Specified by:
fun in interface com.intellij.util.NullableFunction<K,V>
Overrides:
fun in class NullableMemoizedFunction<K,V>

compute

@NotNull
protected abstract V compute(@NotNull
                                     K input)
Specified by:
compute in class NullableMemoizedFunction<K,V>