57 lines
1.4 KiB
PHP
57 lines
1.4 KiB
PHP
<?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;
|
|
}
|
|
}
|