示例#1
0
 /**
  * @param string $className
  */
 private function validateCollection($className)
 {
     if (!$this->collection) {
         throw new LiteObjectException("Collection of mappers must be set. See method Mapper::setMappersCollection.");
     }
     if (!$this->collection->has($className) && !$this->collection->getDefault()) {
         throw new LiteObjectException("Mappers collection missing map for target class name: {$className}. " . 'And no default mapper defined');
     }
 }
示例#2
0
 private static function getDataFromLiteObject(IMapperCollection $collection, IObjectToTargetBuilder $builder, LiteObject $value, IValuesProcessorContainer $container)
 {
     $fieldMapper = $collection->getOrDefault($value);
     $fields = self::getFields($value, $container);
     foreach ($fields as $fieldName => $fieldValue) {
         $dataField = $fieldMapper->mapFromObjectField($fieldName);
         if (!is_object($fieldValue) && !is_array($fieldValue)) {
             $builder->set($dataField, $fieldValue);
         } else {
             $builder->set($dataField, self::getDataFromValue($collection, $builder, $fieldValue, $container));
         }
     }
     return $builder->get();
 }