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 _equalsIDs(id1, id2);
} else {
var id2 = entityHandler1.resolveID(value2);
return _equalsIDs(id1, id2);
}
} else if (entityHandler2 != null) {
var id1 = entityHandler2.resolveID(value1);
var id2 = entityHandler2.getID(value2);
return _equalsIDs(id1, id2);
} else if (entityHandler != null) {
var id1 = entityHandler.resolveID(value1);
var id2 = entityHandler.resolveID(value2);
return _equalsIDs(id1, id2);
}
return equalsValuesEntityMap(value1, value2, entityHandler: entityHandler);
}