diff --git a/core/src/main/java/hudson/util/CopyOnWriteMap.java b/core/src/main/java/hudson/util/CopyOnWriteMap.java index 9bbb7e0b915ac7a2d70d267ed8de5b1961000c32..cc1b9ae6b77d143c32ea509313fadd0d9eb01f44 100644 --- a/core/src/main/java/hudson/util/CopyOnWriteMap.java +++ b/core/src/main/java/hudson/util/CopyOnWriteMap.java @@ -69,6 +69,16 @@ public abstract class CopyOnWriteMap implements Map { view = Collections.unmodifiableMap(core); } + /** + * Atomically replaces the entire map by the copy of the specified map. + */ + public void replaceBy(Map data) { + Map d = copy(); + d.clear(); + d.putAll(data); + update(d); + } + public int size() { return core.size(); }