@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2020 the original author or authors .
* Copyright 2002 - 2021 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -1194,8 +1194,8 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
@@ -1194,8 +1194,8 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
this . primary = = that . primary & &
this . nonPublicAccessAllowed = = that . nonPublicAccessAllowed & &
this . lenientConstructorResolution = = that . lenientConstructorResolution & &
ObjectUtils . nullSafeEquals ( this . constructorArgumentValues , that . constructorArgumentValues ) & &
ObjectUtils . nullSafeEquals ( this . propertyValues , that . propertyValues ) & &
equalsConstructorArgumentValues ( that ) & &
equalsPropertyValues ( that ) & &
ObjectUtils . nullSafeEquals ( this . methodOverrides , that . methodOverrides ) & &
ObjectUtils . nullSafeEquals ( this . factoryBeanName , that . factoryBeanName ) & &
ObjectUtils . nullSafeEquals ( this . factoryMethodName , that . factoryMethodName ) & &
@ -1208,12 +1208,30 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
@@ -1208,12 +1208,30 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
super . equals ( other ) ) ;
}
private boolean equalsConstructorArgumentValues ( AbstractBeanDefinition other ) {
if ( ! hasConstructorArgumentValues ( ) ) {
return ! other . hasConstructorArgumentValues ( ) ;
}
return ObjectUtils . nullSafeEquals ( this . constructorArgumentValues , other . constructorArgumentValues ) ;
}
private boolean equalsPropertyValues ( AbstractBeanDefinition other ) {
if ( ! hasPropertyValues ( ) ) {
return ! other . hasPropertyValues ( ) ;
}
return ObjectUtils . nullSafeEquals ( this . propertyValues , other . propertyValues ) ;
}
@Override
public int hashCode ( ) {
int hashCode = ObjectUtils . nullSafeHashCode ( getBeanClassName ( ) ) ;
hashCode = 29 * hashCode + ObjectUtils . nullSafeHashCode ( this . scope ) ;
hashCode = 29 * hashCode + ObjectUtils . nullSafeHashCode ( this . constructorArgumentValues ) ;
hashCode = 29 * hashCode + ObjectUtils . nullSafeHashCode ( this . propertyValues ) ;
if ( hasConstructorArgumentValues ( ) ) {
hashCode = 29 * hashCode + ObjectUtils . nullSafeHashCode ( this . constructorArgumentValues ) ;
}
if ( hasPropertyValues ( ) ) {
hashCode = 29 * hashCode + ObjectUtils . nullSafeHashCode ( this . propertyValues ) ;
}
hashCode = 29 * hashCode + ObjectUtils . nullSafeHashCode ( this . factoryBeanName ) ;
hashCode = 29 * hashCode + ObjectUtils . nullSafeHashCode ( this . factoryMethodName ) ;
hashCode = 29 * hashCode + super . hashCode ( ) ;