/** * {@inheritDoc} */ protected function getPropertiesForClass(ActionInterface $action, CallableInterface $callable, $class) { if (!$this->metadataFactory->supportsClass($class)) { return []; } $metadata = $this->metadataFactory->loadMetadata($class); $reflectionClass = Reflection::loadClassReflection($class); $properties = []; foreach ($metadata->getProperties() as $propertyName => $property) { $properties[] = $reflectionClass->getProperty($propertyName); } return $properties; }
/** * {@inheritDoc} */ public function supportsClass($class) { if (is_object($class)) { $class = get_class($class); } $key = 'model_normalizer.annotated.classes'; $classes = $this->cache->get($key); if (null === $classes) { $classes = []; } $mustUpdateCache = false; if (!isset($classes[$class])) { $supports = $this->delegate->supportsClass($class); $classes[$class] = $supports; $mustUpdateCache = true; } else { $supports = $classes[$class]; } if ($mustUpdateCache) { $this->cache->set($key, $classes); } return $supports; }
/** * {@inheritdoc} */ public function supportsClass($class) { return $this->metadataFactory->supportsClass($class); }