Passed
Push — master ( df8df0...79124a )
by Milan
07:07
created

ContentTypeFilter   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 6
lcom 1
cbo 2
dl 0
loc 47
rs 10
c 1
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 2
A isValid() 0 4 1
A getValues() 0 4 1
A getUploadControl() 0 7 2
1
<?php
2
3
namespace h4kuna\Upload\Upload;
4
5
use h4kuna\Upload\InvalidArgumentException,
6
	Nette\Http;
7
8
class ContentTypeFilter
9
{
10
11
	/** @var array */
12
	private $values;
13
14
	/** @var UploadControlFake */
15
	private static $uploadControl;
16
17
18
	public function __construct(...$values)
19
	{
20
		$this->values = $values;
21
		if ($values === []) {
22
			throw new InvalidArgumentException('Parameter $values must be non-empty.');
23
		}
24
	}
25
26
27
	/**
28
	 * @param Http\FileUpload $fileUpload
29
	 * @return bool
30
	 */
31
	public function isValid(Http\FileUpload $fileUpload)
32
	{
33
		return self::getUploadControl()->isValid($this, $fileUpload);
34
	}
35
36
37
	/**
38
	 * @return array
39
	 */
40
	public function getValues()
41
	{
42
		return $this->values;
43
	}
44
45
46
	private static function getUploadControl()
47
	{
48
		if (self::$uploadControl === null) {
49
			self::$uploadControl = new UploadControlFake;
50
		}
51
		return self::$uploadControl;
52
	}
53
54
}