This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/Validator/Tests/Fixtures/FakeMetadataFactory.php

57 lines
1.4 KiB
PHP
Raw Normal View History

<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Validator\Tests\Fixtures;
use Symfony\Component\Validator\MetadataFactoryInterface;
use Symfony\Component\Validator\Exception\NoSuchMetadataException;
use Symfony\Component\Validator\Mapping\ClassMetadata;
class FakeMetadataFactory implements MetadataFactoryInterface
{
protected $metadatas = array();
public function getMetadataFor($class)
{
if (is_object($class)) {
$class = get_class($class);
}
if (!is_string($class)) {
throw new NoSuchMetadataException('No metadata for type '.gettype($class));
}
if (!isset($this->metadatas[$class])) {
throw new NoSuchMetadataException('No metadata for "'.$class.'"');
}
return $this->metadatas[$class];
}
public function hasMetadataFor($class)
{
if (is_object($class)) {
$class = get_class($class);
}
if (!is_string($class)) {
return false;
}
return isset($this->metadatas[$class]);
}
public function addMetadata(ClassMetadata $metadata)
{
$this->metadatas[$metadata->getClassName()] = $metadata;
}
}