* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Serializer\Mapping\Loader; use Symfony\Component\Serializer\Exception\MappingException; /** * Base class for all file based loaders. * * @author Kévin Dunglas */ abstract class FileLoader implements LoaderInterface { protected string $file; /** * @param string $file The mapping file to load * * @throws MappingException if the mapping file does not exist or is not readable */ public function __construct(string $file) { if (!is_file($file)) { throw new MappingException(sprintf('The mapping file "%s" does not exist.', $file)); } if (!is_readable($file)) { throw new MappingException(sprintf('The mapping file "%s" is not readable.', $file)); } $this->file = $file; } }