/** * {@inheritdoc} */ public function supports(PuliResource $resource) { if (false === $resource instanceof CmfResource) { return false; } return $this->metadataFactory->hasMetadataFor(ClassUtils::getRealClass($resource->getPayloadType())); }
/** * Return the alias for the given PHPCR resource. * * @param PuliResource $resource * * @return string */ public function getPayloadAlias(PuliResource $resource) { $repositoryType = $this->repositoryRegistry->getRepositoryType($resource->getRepository()); $type = null; if ($resource instanceof CmfResource) { $type = $resource->getPayloadType(); } if (null === $type) { return; } if (!isset($this->aliasesByRepository[$repositoryType])) { return; } if (!isset($this->aliasesByRepository[$repositoryType][$type])) { return; } return $this->aliasesByRepository[$repositoryType][$type]; }
/** * {@inheritdoc} */ public function supports(PuliResource $resource) { if (false === $resource instanceof CmfResource) { return false; } try { $this->registry->getByClass($resource->getPayloadType()); } catch (\InvalidArgumentException $e) { return false; } return true; }