in xbean-blueprint/src/main/java/org/apache/xbean/blueprint/context/impl/XBeanNamespaceHandler.java [630:659]
private boolean equals(NonNullMetadata key1, NonNullMetadata key2) {
if (key1 == key2) return true;
if (key1.getClass() != key2.getClass()) return false;
if (key1 instanceof RefMetadata) return ((RefMetadata) key1).getComponentId().equals(((RefMetadata) key2).getComponentId());
if (key1 instanceof ReferenceMetadata) {
if (((ReferenceMetadata) key1).getTimeout() != ((ReferenceMetadata) key2).getTimeout()) return false;
}
if (key1 instanceof ServiceReferenceMetadata) {
ServiceReferenceMetadata sr1 = (ServiceReferenceMetadata) key1;
ServiceReferenceMetadata sr2 = (ServiceReferenceMetadata) key2;
return sr1.getAvailability() == sr2.getAvailability()
&& sr1.getInterface().equals(sr2.getInterface())
&& sr1.getComponentName().equals(sr2.getComponentName())
&& sr1.getFilter().equals(sr2.getFilter())
&& sr1.getReferenceListeners().equals(sr2.getReferenceListeners())
&& sr1.getId().equals(sr2.getId())
&& sr1.getActivation() == sr2.getActivation()
&& sr1.getDependsOn().equals(sr2.getDependsOn());
}
if (key1 instanceof ValueMetadata) {
ValueMetadata v1 = (ValueMetadata) key1;
ValueMetadata v2 = (ValueMetadata) key2;
if (v1.getStringValue() != null ? v1.getStringValue().equals(v2.getStringValue()) : v2.getStringValue() == null
&& v1.getType() != null ? v1.getType().equals(v2.getType()) : v2.getType() == null) {
return true;
}
}
return false;
}