Пример #1
0
 public function getArrayType()
 {
     $this->getTypeReflector();
     if ($this->_typeReflector) {
         return $this->_typeReflector->getArrayType();
     } else {
         return false;
     }
 }
Пример #2
0
 private function getTypeDependencies(KalturaTypeReflector $typeReflector)
 {
     $result = array();
     $parentTypeReflector = $typeReflector->getParentTypeReflector();
     if ($parentTypeReflector) {
         $result[$parentTypeReflector->getType()] = $parentTypeReflector;
     }
     $properties = $typeReflector->getProperties();
     foreach ($properties as $property) {
         $subTypeReflector = $property->getTypeReflector();
         if ($subTypeReflector) {
             $result[$subTypeReflector->getType()] = $subTypeReflector;
         }
     }
     if ($typeReflector->isArray() && !$typeReflector->isAbstract()) {
         $arrayTypeReflector = KalturaTypeReflectorCacher::get($typeReflector->getArrayType());
         if ($arrayTypeReflector) {
             $result[$arrayTypeReflector->getType()] = $arrayTypeReflector;
         }
     }
     return $result;
 }
Пример #3
0
 private function loadTypesRecursive(KalturaTypeReflector $typeReflector)
 {
     $parentTypeReflector = $typeReflector->getParentTypeReflector();
     if ($parentTypeReflector) {
         $parentType = $parentTypeReflector->getType();
         $this->loadTypesRecursive($parentTypeReflector);
     }
     $properties = $typeReflector->getProperties();
     foreach ($properties as $property) {
         $subTypeReflector = $property->getTypeReflector();
         if ($subTypeReflector) {
             $this->loadTypesRecursive($subTypeReflector);
         }
     }
     if ($typeReflector->isArray()) {
         $arrayTypeReflector = KalturaTypeReflectorCacher::get($typeReflector->getArrayType());
         if ($arrayTypeReflector) {
             $this->loadTypesRecursive($arrayTypeReflector);
         }
     }
     $this->addType($typeReflector);
 }