public class ChangeTrackingMap extends java.lang.Object implements java.util.Map, Taggable
Constructor and Description |
---|
ChangeTrackingMap(java.util.Map map)
Constructor with covered map.
|
Modifier and Type | Method and Description |
---|---|
void |
clear() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Set |
entrySet() |
java.lang.Object |
get(java.lang.Object key) |
java.util.Map |
getAdded()
Returns added elements.
|
java.util.Map |
getChanged()
Returns changed elements.
|
java.util.Map |
getRemoved()
Returns removed elements.
|
boolean |
hasChangedSinceTagging()
Returns if the content of the object has changed since setting the tag.
|
boolean |
isChanged()
Returns if the list has changed.
|
boolean |
isEmpty() |
boolean |
isTagged()
Returns if the object is currently tagged.
|
java.util.Set |
keySet() |
java.lang.Object |
put(java.lang.Object key,
java.lang.Object newValue) |
void |
putAll(java.util.Map newMap) |
java.lang.Object |
remove(java.lang.Object key) |
void |
revert()
Roll back all changes made since construction.
|
void |
revertToTag()
Reverts all changes made since setting the tag and clears internal state.
|
int |
size() |
void |
tag()
Start memorizing changes.
|
java.lang.String |
toString() |
void |
untag()
Stop memorizing changes and clear internal state.
|
java.util.Collection |
values() |
public ChangeTrackingMap(java.util.Map map)
isTagged()
will return true
without
calling tag()
first. If this behavior is not wanted you can call
untag()
after constructing the map.map
- Wrapped map - Be aware that this map will be changed by this
class. There is no internal copy of the map - The reference
itself is used.public final boolean isChanged()
isTagged()
returns true
) this method will always
return false
.true
else
false
.public final java.util.Map getRemoved()
isTagged()
returns true
) this method will always
return an empty map.public final java.util.Map getChanged()
isTagged()
returns true
) this method will always
return an empty map.public final void revert()
revertToTag()
. If the map is not in tag mode (
this means isTagged()
returns true
) this method
will do nothing.public final java.util.Map getAdded()
isTagged()
returns true
) this method will always
return an empty map.public final void clear()
clear
in interface java.util.Map
public final boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map
public final boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map
public final java.util.Set entrySet()
entrySet
in interface java.util.Map
public final java.lang.Object get(java.lang.Object key)
get
in interface java.util.Map
public final boolean isEmpty()
isEmpty
in interface java.util.Map
public final java.util.Set keySet()
keySet
in interface java.util.Map
public final java.lang.Object put(java.lang.Object key, java.lang.Object newValue)
put
in interface java.util.Map
public final void putAll(java.util.Map newMap)
putAll
in interface java.util.Map
public final java.lang.Object remove(java.lang.Object key)
remove
in interface java.util.Map
public final int size()
size
in interface java.util.Map
public final java.util.Collection values()
values
in interface java.util.Map
public final java.lang.String toString()
toString
in class java.lang.Object
public final boolean hasChangedSinceTagging()
hasChangedSinceTagging
in interface Taggable
true
else
false
.public final boolean isTagged()
public final void revertToTag()
revertToTag
in interface Taggable