001package arez;
002
003import javax.annotation.Nullable;
004
005/**
006 * Strategy interface used to determine whether two values are equal.
007 */
008@FunctionalInterface
009public interface EqualityComparator
010{
011  /**
012   * Return true if the supplied values are considered equal.
013   *
014   * @param oldValue the previous value.
015   * @param newValue the current value.
016   * @return true if values are equal, false otherwise.
017   */
018  boolean areEqual( @Nullable Object oldValue, @Nullable Object newValue );
019}