<?php declare(strict_types=1);
/*
 * Copyright (C) 2015-2017 IRSTEA
 * All rights reserved.
 */

namespace Irstea\FileUploadBundle\Exception;

use Irstea\FileUploadBundle\Model\UploadedFileInterface;
use RuntimeException;

/**
 * Description of RejectedFileException.
 */
class RejectedFileException extends RuntimeException implements Exception
{
    /**
     * @var UploadedFileInterface
     */
    protected $uploadedFile;

    /**
     * @param UploadedFileInterface $file
     * @param string                $message
     * @param int                   $code
     * @param \Exception            $previous
     */
    public function __construct(UploadedFileInterface $uploadedFile, $message, $code = 0, $previous = null)
    {
        parent::__construct($message, $code, $previous);
        $this->uploadedFile = $uploadedFile;
    }

    /**
     * @return UploadedFileInterface
     */
    public function getUploadedFile()
    {
        return $this->uploadedFile;
    }
}