* * 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:----VBG5P3arvaL6OY/lkZ6wWW3OgngqqhLPAO8q/pdpVJx3Lp0oE9TkE45GXg4f3qti6yLIz3CPcf1vzK7/PE0LENgzHUjHtgyVGSA3qKXWvMdMkjDZC+l8gWkvhEWrOrh/ak8wZdQRaVRGgz9Bdv3qMLjWg8Ptsu2idlqz85scRGKvtqnygzc00THD6AKl0hnfkVWDc6nx/Hxi3L6zMrIe23voRo6yTaQ1mVw2Cxp4JzjU7VQ/xb6j0vCQeMRSg354OcHCtXCwg1Nnl/XaC/565Y2JGXCAWj2fb0JyrHRxA7q/FpKAxay0frSSHvCM5oIfI2ApUfZYHcWppYXZWyBZFOpUihfivakueL8n/IhIXHG6J4QZ5bMxdgDV5qiUPeHkrT8J5XObDHvWIa0PC0VdRovfQNP5ZrA07J37H2cX3HI+mEQsqzG71Xj2xFYk9F5h+4jtkfS1jjio58U++GsTUIrlG8ulieSTMYCR/zZQVVMIM4fI0qAkXeEhdr67wUy3Wq9ZxU6lBo5GQr2zMXMQx0f5F/9AyLu8zRDf8+tjHtzItgAO8Mupo1u/7/aCj18HCt1L8/wAbfAZzycuikU/GOwwaMHrKgAse62j3JNxlU7AKYzmsHou4ySwGgogd6K1Bihk0gP8giTfBwL4gWjb+TACFuwMyMxTu5XWRd1aAhA=----ATTACHMENT:----OTI5MDU4NjQ0NTE0NjI2MCAyNzE4NTMwNTIzMDMxMjQ3IDE2MzU1MTYyOTE1NDgxMjg=