Package com.yahoo.search.query.profile
Class CopyOnWriteContent
- java.lang.Object
-
- com.yahoo.component.provider.FreezableClass
-
- com.yahoo.search.query.profile.CopyOnWriteContent
-
- All Implemented Interfaces:
com.yahoo.component.provider.Freezable
,java.lang.Cloneable
public class CopyOnWriteContent extends com.yahoo.component.provider.FreezableClass implements java.lang.Cloneable
A HashMap wrapper which can be cloned without copying the wrapped map. Copying of the map is deferred until there is a write access to the wrapped map. This may be frozen, at which point no further modifications are allowed. Note that until this is cloned, the internal map may be both read and written.- Author:
- bratseth
-
-
Constructor Summary
Constructors Constructor Description CopyOnWriteContent()
Create a WRITABLE, empty instance
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CopyOnWriteContent
clone()
void
freeze()
java.lang.Object
get(java.lang.String key)
void
put(java.lang.String key, java.lang.Object value)
void
remove(java.lang.String key)
java.util.Map<java.lang.String,java.lang.Object>
unmodifiableMap()
-
-
-
Method Detail
-
freeze
public void freeze()
- Specified by:
freeze
in interfacecom.yahoo.component.provider.Freezable
- Overrides:
freeze
in classcom.yahoo.component.provider.FreezableClass
-
clone
public CopyOnWriteContent clone()
- Overrides:
clone
in classcom.yahoo.component.provider.FreezableClass
-
unmodifiableMap
public java.util.Map<java.lang.String,java.lang.Object> unmodifiableMap()
-
get
public java.lang.Object get(java.lang.String key)
-
put
public void put(java.lang.String key, java.lang.Object value)
-
remove
public void remove(java.lang.String key)
-
-