/** * Parses a class. * * @param ResourceInterface $resource * @param string $entityClass * @param string $io * * @return array */ private function parseClass(ResourceInterface $resource, $entityClass, $io) { $classMetadata = $this->classMetadataFactory->getMetadataFor($entityClass, $resource->getNormalizationGroups(), $resource->getDenormalizationGroups(), $resource->getValidationGroups()); $data = array(); foreach ($classMetadata->getAttributes() as $attributeMetadata) { if (!$attributeMetadata->isIdentifier() && $attributeMetadata->isReadable() && self::OUT_PREFIX === $io || $attributeMetadata->isWritable() && self::IN_PREFIX === $io) { $data[$attributeMetadata->getName()] = $this->parseAttribute($resource, $attributeMetadata, $io); } } return $data; }