The key of this map is always a string. When a key is being added or replaced, the map will verify that key is a string. If the key is not a string, the map will throw an {@link IllegalArgumentException}.
When an value is being added or replaced on the map, the map will verify that the value is a Data object. If the value is not a Data object, then the map will throw an {@link IllegalArgumentException}.
Cloning via the {@link #clone()} method will shallow copy the {@link DataMap}and will not deep copy contained complex objects. Copying via the {@link #copy()}method will deep copy the {@link DataMap}, which includes deep copying the contained complex objects. Keys are not deep copied because the keys are immutable strings.
Instrumentation if enabled is only enabled for the {@link DataMap} and notfor the underlying {@link CheckedMap}. Furthermore, if a {@link DataMap} is cloned,the clone will not have instrumentation enabled and the clone's instrumented data will be cleared.
Since {@link DataMap} extends {@link CheckedMap}, copying of the {@link DataMap} is lazy and may bedelayed until the {@link DataMap} is about to be modified. @author slim
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|