/**
  *
  *
  * @param EntityMetadata $entityMetadata
  * @param object $entity
  * @return {string:mixed}
  */
 public function export(EntityMetadata $entityMetadata, $entity)
 {
     $entityClass = $entityMetadata->getClass();
     $this->entity = $entity;
     $this->loadReflectionClass($entityClass);
     $row = array();
     foreach ($entityMetadata->getColumns() as $entityColumn) {
         $propertyName = $entityColumn->getPropertyName();
         $columnName = $entityColumn->getColumnName();
         $value = $this->getPropertyValue($propertyName);
         $row[$columnName] = $value;
     }
     return $row;
 }
 /**
  *
  *
  * @param EntityMetadata $entityMetadata
  * @param {string:mixed} $row
  * @return object
  */
 public function import(EntityMetadata $entityMetadata, array $row)
 {
     $this->entityClass = $entityMetadata->getClass();
     $this->entity = new $this->entityClass();
     $this->loadReflectionClass();
     foreach ($entityMetadata->getColumns() as $column) {
         $columnName = $column->getColumnName();
         if (array_key_exists($columnName, $row)) {
             $propertyName = $column->getPropertyName();
             $value = $row[$columnName];
             $value = $this->setValueType($value, $column);
             $this->getReflectionProperty($propertyName)->setValue($this->entity, $value);
         }
     }
     return $this->entity;
 }
 /**
  *
  *
  * @return EntityMetadata $entityMetadata
  */
 private function storeEntityMetadata(EntityMetadata $entityMetadata)
 {
     $this->entityMetadatas[$entityMetadata->getClass()] = $entityMetadata;
 }
Ejemplo n.º 4
0
 /**
  *
  *
  * @param object $entity
  * @return \perf\Db\QueryFilter
  */
 private function getPrimaryKeyFilter($entity)
 {
     return $this->entityMetadata->getPrimaryKey()->getFilter($this->connection, $entity);
 }