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;
|
||
|
}
|
||
|
}
|