forge.util
Class ModifiableMap<V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by edu.mit.csail.sdg.util.collections.OverrideMap<ForgeExpression.Modifiable,V>
          extended by forge.util.ModifiableMap<V>
All Implemented Interfaces:
java.util.Map<ForgeExpression.Modifiable,V>

public final class ModifiableMap<V>
extends edu.mit.csail.sdg.util.collections.OverrideMap<ForgeExpression.Modifiable,V>

An override map that maps modifiables to non-null values.

Author:
Greg Dennis (gdennis@mit.edu)

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class edu.mit.csail.sdg.util.collections.OverrideMap
arg, base
 
Constructor Summary
ModifiableMap()
           
ModifiableMap(java.util.Map<ForgeExpression.Modifiable,V> base)
           
 
Method Summary
 java.util.Map<? extends ForgeExpression.Modifiable,? extends V> baseMap()
          The unmodifiable base map.
 java.util.Map<ForgeExpression.Modifiable,V> diffMap()
          The modifiable diff map.
 V put(ForgeExpression.Modifiable key, V value)
           
 ModifiableMap<V> unmodifiable()
           
 
Methods inherited from class edu.mit.csail.sdg.util.collections.OverrideMap
containsKey, entrySet, get, override
 
Methods inherited from class java.util.AbstractMap
clear, clone, containsValue, equals, hashCode, isEmpty, keySet, putAll, remove, size, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ModifiableMap

public ModifiableMap()

ModifiableMap

public ModifiableMap(java.util.Map<ForgeExpression.Modifiable,V> base)
Method Detail

unmodifiable

public ModifiableMap<V> unmodifiable()

baseMap

public java.util.Map<? extends ForgeExpression.Modifiable,? extends V> baseMap()
The unmodifiable base map.


diffMap

public java.util.Map<ForgeExpression.Modifiable,V> diffMap()
The modifiable diff map.


put

public V put(ForgeExpression.Modifiable key,
             V value)
Specified by:
put in interface java.util.Map<ForgeExpression.Modifiable,V>
Overrides:
put in class java.util.AbstractMap<ForgeExpression.Modifiable,V>