Favor ObjectUtils over Objects for equals/hashCode.

Original Pull Request: #3684
This commit is contained in:
Christoph Strobl
2021-06-24 13:22:38 +02:00
parent 85a30ec915
commit 82d67c1dbb
2 changed files with 30 additions and 28 deletions

View File

@@ -15,7 +15,7 @@
*/ */
package org.springframework.data.mongodb.core.mapping; package org.springframework.data.mongodb.core.mapping;
import java.util.Objects; import org.springframework.util.ObjectUtils;
/** /**
* @author Christoph Strobl * @author Christoph Strobl
@@ -36,21 +36,11 @@ class UnwrapEntityContext {
/* /*
* (non-Javadoc) * (non-Javadoc)
*
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
return Objects.hash(property);
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object) * @see java.lang.Object#equals(java.lang.Object)
*/ */
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (this == obj) { if (this == obj) {
return true; return true;
} }
@@ -59,8 +49,16 @@ class UnwrapEntityContext {
return false; return false;
} }
UnwrapEntityContext other = (UnwrapEntityContext) obj; UnwrapEntityContext that = (UnwrapEntityContext) obj;
return ObjectUtils.nullSafeEquals(property, that.property);
}
return Objects.equals(property, other.property); /*
* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
return ObjectUtils.nullSafeHashCode(property);
} }
} }

View File

@@ -18,13 +18,13 @@ package org.springframework.data.mongodb.core.mapping;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Objects;
import org.springframework.data.mapping.Association; import org.springframework.data.mapping.Association;
import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentEntity;
import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.data.mapping.PersistentPropertyAccessor;
import org.springframework.data.util.TypeInformation; import org.springframework.data.util.TypeInformation;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import org.springframework.util.ObjectUtils;
/** /**
* Unwrapped variant of {@link MongoPersistentProperty}. * Unwrapped variant of {@link MongoPersistentProperty}.
@@ -325,21 +325,11 @@ class UnwrappedMongoPersistentProperty implements MongoPersistentProperty {
/* /*
* (non-Javadoc) * (non-Javadoc)
*
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
return Objects.hash(delegate, context);
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object) * @see java.lang.Object#equals(java.lang.Object)
*/ */
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (this == obj) { if (this == obj) {
return true; return true;
} }
@@ -348,8 +338,22 @@ class UnwrappedMongoPersistentProperty implements MongoPersistentProperty {
return false; return false;
} }
UnwrappedMongoPersistentProperty other = (UnwrappedMongoPersistentProperty) obj; UnwrappedMongoPersistentProperty that = (UnwrappedMongoPersistentProperty) obj;
if (!ObjectUtils.nullSafeEquals(delegate, that.delegate)) {
return false;
}
return ObjectUtils.nullSafeEquals(context, that.context);
}
return Objects.equals(delegate, other.delegate) && Objects.equals(context, other.context); /*
* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
int result = ObjectUtils.nullSafeHashCode(delegate);
result = 31 * result + ObjectUtils.nullSafeHashCode(context);
return result;
} }
} }