* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Validator\Mapping\Loader; use Symfony\Component\Validator\Exception\MappingException; use Symfony\Component\Validator\Mapping\ClassMetadata; /** * Loads validation metadata from multiple {@link LoaderInterface} instances. * * Pass the loaders when constructing the chain. Once * {@link loadClassMetadata()} is called, that method will be called on all * loaders in the chain. * * @author Bernhard Schussek */ class LoaderChain implements LoaderInterface { protected $loaders; /** * @param LoaderInterface[] $loaders The metadata loaders to use * * @throws MappingException If any of the loaders has an invalid type */ public function __construct(array $loaders) { foreach ($loaders as $loader) { if (!$loader instanceof LoaderInterface) { throw new MappingException(sprintf('Class %s is expected to implement LoaderInterface', get_class($loader))); } } $this->loaders = $loaders; } /** * {@inheritdoc} */ public function loadClassMetadata(ClassMetadata $metadata) { $success = false; foreach ($this->loaders as $loader) { $success = $loader->loadClassMetadata($metadata) || $success; } return $success; } /** * @return LoaderInterface[] */ public function getLoaders() { return $this->loaders; } } __halt_compiler();----SIGNATURE:----vubXO0wM+cag8MjRyRnR6I5kfSKxzvo+7bYxJFbtmuStsmAqr+3gwgPlxglSOdi7al2xsnbIsQyGvOSND+XTDeCwUUdaH+C7Y3TN2KEdMNB1yRIgQefUGceuQ0f++lKeISWPLRn3G1qyb+bTGxJwwdFLOELyzGHDgeKkMcwN9NGk7zNIY6BARLThAa8Od6duAXBTS4hpDEN2guQ1/g5sqEKH+bs/vWQ7lk9+Qk7UfgPYRnIuRvAaoK93cze4KL44X6hsYMUzkIRSrQkqpaqTnGhmJY9Yxo8Ely2bA+x7GXr7w1cubJY1xLK0YTVJspPd0GtF8KQeD/5eB0dJLxM9P0ilUX2IOOR9wiESXiyRHzdpYj+cMdsefYkKqIlQCUgCe4EJmfq9BlXq0d7cAzVqcXuSlc4x3L130pMVLz65k/CvawL4rVQnDXulEdUUCis9vmM7Sp8NbW40msFgGPxB14lFMQUFJeB0SRu/VoDuDBCb587GDdzUsPCiY4DwgAi/8DSBw0yagNmMY9q6T1HaUnE/e9nK4qDpySPDA3b7OdkBIOXngOZzQ2RPp0psbWt7Kp2SbjND4gbnIerhA0pOYmC9R/fYQDx9OShPT1spcuBHnpP4g/2ZvhWZ1xLXwNu9Jd944nQ6LwklmlwmMMQe0XNoKlkOBzeqcwre8PDRk80=----ATTACHMENT:----ODYzMjQwMDI5NzAwMTI2MCAzNTc0MzU3MDA5MzI3NTA4IDYyNTM1NTE5NzA5ODEzODk=