equalsValuesEntity static method
Implementation
static bool? equalsValuesEntity(Object value1, Object value2,
{EntityHandler? entityHandler}) {
if (value1 is EntityReference) {
return value1.equalsEntityID(value2);
} else if (value2 is EntityReference) {
return value2.equalsEntityID(value1);
}
var reflectionFactory = ReflectionFactory();
EntityHandler? entityHandler1 = value1.isPrimitiveValue
? null
: reflectionFactory
.getRegisterClassReflection(value1.runtimeType)
?.entityHandler ??
EntityHandlerProvider.globalProvider.getEntityHandler(obj: value1);
EntityHandler? entityHandler2 = value2.isPrimitiveValue
? null
: reflectionFactory
.getRegisterClassReflection(value2.runtimeType)
?.entityHandler ??
EntityHandlerProvider.globalProvider.getEntityHandler(obj: value2);
if (entityHandler1 != null) {
var id1 = entityHandler1.getID(value1);
if (entityHandler2 != null) {
if (entityHandler1 != entityHandler2) return false;
var id2 = entityHandler2.getID(value2);
return id1 == id2;
} else {
var id2 = entityHandler1.resolveID(value2);
return id1 == id2;
}
} else if (entityHandler2 != null) {
var id1 = entityHandler2.resolveID(value1);
var id2 = entityHandler2.getID(value2);
return id1 == id2;
} else if (entityHandler != null) {
var id1 = entityHandler.resolveID(value1);
var id2 = entityHandler.resolveID(value2);
return id1 == id2;
}
return equalsValuesEntityMap(value1, value2, entityHandler: entityHandler);
}