public function equals(Entity $entity) { if ($entity == null) { return false; } if (!$entity instanceof Entity) { return false; } if ($entity->getTableId()->getFieldName() !== $this->getTableId()->getFieldName()) { return false; } return $entity->getIdValue() === $this->getIdValue(); }
private function getEntityIdField(Entity $entity) { return "moldp_" . $entity->getTableName() . "_" . $entity->getTableId()->getFieldName(); }
private function getIdFromEntity(Entity $entity) { $getter = "get" . $entity->getTableId()->getParameterName(); return $entity->{$getter}(); }
private function appendTableToEntityFields(Entity $entity) { $prefix = "moldp_" . $entity->getTableName(); $entityFields = " {$prefix}." . $entity->getTableId()->getFieldName() . " AS " . $prefix . "_" . $entity->getTableId()->getFieldName() . ","; foreach ($entity->getEntityFields() as $key => $entityField) { if (!$entityField->isMappedEntity()) { $entityFields .= " {$prefix}." . $entityField->getColumnName() . " AS " . $prefix . "_" . $entityField->getColumnName() . ","; } } return rtrim($entityFields, ","); }
/** * @param $entity Entity * @param $field String * @return String */ private static function getEntityFieldOrIdFieldFromEntityByParameter(Entity $entity, $field) { foreach ($entity->getEntityFields() as $key => $entityField) { if (strtoupper($entityField->getParameterName()) === strtoupper($field)) { return $entityField->getParameterName(); } } if (strtoupper($entity->getTableId()->getParameterName()) === strtoupper($field)) { return $entity->getTableId()->getParameterName(); } throw new InvalidArgumentException("Parameter '" . $field . "' not found in Entity " . get_class($entity)); }