#1229 - Implement equals and hashCode on ModifyAwareMap, ModifyAwareList and ModifyAwareSet

This commit is contained in:
Rob Bygrave
2018-01-06 12:51:50 +13:00
parent db5db26fca
commit 3c7ef7d46e
6 changed files with 172 additions and 66 deletions
@@ -5,6 +5,7 @@ import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.ListIterator;
import java.util.Objects;
/**
* Modify aware wrapper of a list.
@@ -32,6 +33,19 @@ public class ModifyAwareList<E> implements List<E>, ModifyAwareOwner {
return list.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ModifyAwareList)) return false;
ModifyAwareList<?> that = (ModifyAwareList<?>) o;
return Objects.equals(list, that.list);
}
@Override
public int hashCode() {
return Objects.hash(list);
}
@Override
public boolean isMarkedDirty() {
return owner.isMarkedDirty();