/** * Load all of the @XmlList annotations * * @param ClassMetadata $metadata */ protected function loadClassLists(ClassMetadata $metadata) { $reflClass = $metadata->getReflectionClass(); foreach ($reflClass->getProperties() as $property) { foreach ($this->reader->getPropertyAnnotations($property) as $annotation) { if ($annotation instanceof XmlList) { $nodeName = !is_null($annotation->name) ? $annotation->name : $property->getName(); if (!is_null($annotation->type)) { $embeddedMetadata = new ClassMetadata($annotation->type); $this->loadClassMetadata($embeddedMetadata); } else { $embeddedMetadata = null; } $metadata->addList($property->getName(), $nodeName, $annotation->wrapper, $embeddedMetadata); } } } }