public class Changelog<K,V> extends java.util.HashMap<Changelog.ChangeType,java.util.Map<K,V>> implements java.lang.Cloneable
Modifier and Type | Class and Description |
---|---|
static class |
Changelog.Change<C> |
static class |
Changelog.ChangeType |
Constructor and Description |
---|
Changelog() |
Modifier and Type | Method and Description |
---|---|
void |
addChange(K k,
V v,
Changelog.ChangeType changeType) |
Changelog<K,V> |
and(Changelog<K,V> secondChangelog) |
<W> Changelog<K,V> |
and(Changelog<K,W> secondChangelog,
java.util.function.BiFunction<K,W,V> converter) |
Changelog<K,V> |
clone() |
java.util.Map<K,V> |
createMap() |
<W> void |
findConflicts(Changelog<K,W> changelog,
java.util.function.BiPredicate<Changelog.Change<V>,Changelog.Change<W>> conflictCondition,
java.util.Map<K,Pair<Changelog.Change<V>,Changelog.Change<W>>> conflictedChanges,
java.util.Map<K,Pair<Changelog.Change<V>,Changelog.Change<W>>> unconflictedChanges) |
java.util.Set<K> |
flattenedKeyset() |
int |
flattenedSize() |
java.util.Map<K,V> |
get(java.lang.Object key) |
boolean |
isEmpty() |
void |
setShouldLogChanges(boolean shouldLogChanges) |
boolean |
shouldLogChanges() |
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, getOrDefault, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
public boolean shouldLogChanges()
public void setShouldLogChanges(boolean shouldLogChanges)
public java.util.Map<K,V> get(java.lang.Object key)
get
in interface java.util.Map<Changelog.ChangeType,java.util.Map<K,V>>
get
in class java.util.HashMap<Changelog.ChangeType,java.util.Map<K,V>>
public Changelog<K,V> clone()
clone
in class java.util.HashMap<Changelog.ChangeType,java.util.Map<K,V>>
public <W> Changelog<K,V> and(Changelog<K,W> secondChangelog, java.util.function.BiFunction<K,W,V> converter)
public <W> void findConflicts(Changelog<K,W> changelog, java.util.function.BiPredicate<Changelog.Change<V>,Changelog.Change<W>> conflictCondition, java.util.Map<K,Pair<Changelog.Change<V>,Changelog.Change<W>>> conflictedChanges, java.util.Map<K,Pair<Changelog.Change<V>,Changelog.Change<W>>> unconflictedChanges)
public void addChange(K k, V v, Changelog.ChangeType changeType)
public boolean isEmpty()
isEmpty
in interface java.util.Map<Changelog.ChangeType,java.util.Map<K,V>>
isEmpty
in class java.util.HashMap<Changelog.ChangeType,java.util.Map<K,V>>
public int flattenedSize()
public java.util.Set<K> flattenedKeyset()