Example #1
0
 /**
  * @param  mixed      $data
  * @param  Definition $definition
  * @param  mixed      $origin
  * @return array
  */
 protected function denormalizeObject($data, Definition $definition, &$origin)
 {
     if ($data === null) {
         $definition->settle($origin, null);
         return;
     }
     $object = $definition->extract($origin) ?: $definition->create($origin);
     foreach ($definition->getProperties() as $propertyName => $propertyDefinition) {
         $propertyData = isset($data[$propertyName]) ? $data[$propertyName] : null;
         $this->denormalize($propertyData, $propertyDefinition, $object);
     }
     $definition->settle($origin, $object);
 }