Beispiel #1
0
 /**
  * {@inheritDoc}
  */
 public function guessClass($object, $name)
 {
     $classes = [];
     foreach ($object->getOneOf() as $oneOf) {
         $oneOfName = $name . 'Sub';
         $oneOfResolved = $oneOf;
         if ($oneOf instanceof Reference) {
             $oneOfName = array_pop(explode('/', $oneOf->getFragment()));
             $oneOfResolved = $this->resolver->resolve($oneOf);
         }
         $merged = $this->jsonSchemaMerger->merge($object, $oneOfResolved);
         $classes = array_merge($classes, $this->chainGuesser->guessClass($merged, $oneOfName));
         if ($oneOf instanceof Reference) {
             $oneOf->setResolved($merged);
         }
     }
     return $classes;
 }