[error prone] suppress AmbiguousMethodReference in AnyLongObjectId

Move the implementation of the static equals() method to a new method
and suppress the error. Deprecate the old method to signal that we
intend to remove it in the next major release.

See https://errorprone.info/bugpattern/AmbiguousMethodReference

Change-Id: I712697a411ab44c6e05ae4604eb2dcb9c0f8abd3
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
This commit is contained in:
David Pursehouse 2019-08-09 16:06:28 +09:00
parent 4b9ed3f678
commit 13df53c149
1 changed files with 20 additions and 1 deletions

View File

@ -74,9 +74,28 @@ public abstract class AnyLongObjectId implements Comparable<AnyLongObjectId> {
* @param secondObjectId
* the second identifier to compare. Must not be null.
* @return true if the two identifiers are the same.
* @deprecated use {@link #isEqual(AnyLongObjectId, AnyLongObjectId)}
* instead.
*/
@Deprecated
@SuppressWarnings("AmbiguousMethodReference")
public static boolean equals(final AnyLongObjectId firstObjectId,
final AnyLongObjectId secondObjectId) {
return isEqual(firstObjectId, secondObjectId);
}
/**
* Compare two object identifier byte sequences for equality.
*
* @param firstObjectId
* the first identifier to compare. Must not be null.
* @param secondObjectId
* the second identifier to compare. Must not be null.
* @return true if the two identifiers are the same.
* @since 5.4
*/
public static boolean isEqual(final AnyLongObjectId firstObjectId,
final AnyLongObjectId secondObjectId) {
if (References.isSameObject(firstObjectId, secondObjectId)) {
return true;
}
@ -276,7 +295,7 @@ public final int hashCode() {
* the other id to compare to. May be null.
* @return true only if both LongObjectIds have identical bits.
*/
@SuppressWarnings("NonOverridingEquals")
@SuppressWarnings({ "NonOverridingEquals", "AmbiguousMethodReference" })
public final boolean equals(AnyLongObjectId other) {
return other != null ? equals(this, other) : false;
}