package org.javers.core.diff.changetype.container; import java.util.Objects; import org.javers.core.diff.changetype.Atomic; /** * Change on collection of values * * @author bartosz walacik */ public abstract class ValueAddOrRemove extends ContainerElementChange { final Atomic value; ValueAddOrRemove(Object value) { this.value = new Atomic(value); } ValueAddOrRemove(Integer index, Object value) { super(index); this.value = new Atomic(value); } public Object getValue() { return value.unwrap(); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof ValueAddOrRemove) { ValueAddOrRemove that = (ValueAddOrRemove) obj; return super.equals(that) && Objects.equals(this.getValue(), that.getValue()); } return false; } @Override public int hashCode() { return Objects.hash(super.hashCode(), getValue()); } }