Package helma.util

Class CopyOnWriteMap

  • All Implemented Interfaces:
    java.util.Map

    public class CopyOnWriteMap
    extends WrappedMap
    A Map that wraps another map and creates a new copy of the wrapped map if we try to modify it. This class is wrapped as a native scripted object in JavaScript rather than exposing them through Java reflection. All methods in this class are synchronized in order not to miss the switch between original and copied map.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Constructor Summary

      Constructors 
      Constructor Description
      CopyOnWriteMap​(java.util.Map map)
      Constructor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()  
      boolean containsKey​(java.lang.Object key)  
      boolean containsValue​(java.lang.Object value)  
      java.util.Set entrySet()  
      boolean equals​(java.lang.Object o)  
      java.lang.Object get​(java.lang.Object key)  
      int hashCode()  
      boolean isEmpty()  
      java.util.Set keySet()  
      java.lang.Object put​(java.lang.Object key, java.lang.Object value)  
      void putAll​(java.util.Map t)  
      java.lang.Object remove​(java.lang.Object key)  
      int size()  
      java.lang.String toString()  
      java.util.Collection values()  
      boolean wasModified()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
    • Constructor Detail

      • CopyOnWriteMap

        public CopyOnWriteMap​(java.util.Map map)
        Constructor
    • Method Detail

      • wasModified

        public boolean wasModified()
      • size

        public int size()
        Specified by:
        size in interface java.util.Map
        Overrides:
        size in class WrappedMap
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Map
        Overrides:
        isEmpty in class WrappedMap
      • containsKey

        public boolean containsKey​(java.lang.Object key)
        Specified by:
        containsKey in interface java.util.Map
        Overrides:
        containsKey in class WrappedMap
      • containsValue

        public boolean containsValue​(java.lang.Object value)
        Specified by:
        containsValue in interface java.util.Map
        Overrides:
        containsValue in class WrappedMap
      • get

        public java.lang.Object get​(java.lang.Object key)
        Specified by:
        get in interface java.util.Map
        Overrides:
        get in class WrappedMap
      • put

        public java.lang.Object put​(java.lang.Object key,
                                    java.lang.Object value)
        Specified by:
        put in interface java.util.Map
        Overrides:
        put in class WrappedMap
      • remove

        public java.lang.Object remove​(java.lang.Object key)
        Specified by:
        remove in interface java.util.Map
        Overrides:
        remove in class WrappedMap
      • putAll

        public void putAll​(java.util.Map t)
        Specified by:
        putAll in interface java.util.Map
        Overrides:
        putAll in class WrappedMap
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Map
        Overrides:
        clear in class WrappedMap
      • keySet

        public java.util.Set keySet()
        Specified by:
        keySet in interface java.util.Map
        Overrides:
        keySet in class WrappedMap
      • values

        public java.util.Collection values()
        Specified by:
        values in interface java.util.Map
        Overrides:
        values in class WrappedMap
      • entrySet

        public java.util.Set entrySet()
        Specified by:
        entrySet in interface java.util.Map
        Overrides:
        entrySet in class WrappedMap
      • equals

        public boolean equals​(java.lang.Object o)
        Specified by:
        equals in interface java.util.Map
        Overrides:
        equals in class WrappedMap
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface java.util.Map
        Overrides:
        hashCode in class WrappedMap