HttpStatusCodeManager::setHttpStatusCode()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 3
c 0
b 0
f 0
nc 2
nop 1
dl 0
loc 6
ccs 4
cts 4
cp 1
crap 2
rs 10
1
<?php
2
3
namespace alsvanzelf\jsonapi\helpers;
4
5
use alsvanzelf\jsonapi\exceptions\InputException;
6
use alsvanzelf\jsonapi\helpers\Validator;
7
8
trait HttpStatusCodeManager {
9
	/** @var int */
10
	protected $httpStatusCode;
11
	
12
	/**
13
	 * spec api
14
	 */
15
	
16
	/**
17
	 * @param int $httpStatusCode
18
	 * 
19
	 * @throws InputException if an invalid code is used
20
	 */
21 131
	public function setHttpStatusCode($httpStatusCode) {
22 131
		if (Validator::checkHttpStatusCode($httpStatusCode) === false) {
23 1
			throw new InputException('can not use an invalid http status code');
24
		}
25
		
26 130
		$this->httpStatusCode = $httpStatusCode;
27
	}
28
	
29
	/**
30
	 * internal api
31
	 */
32
	
33
	/**
34
	 * @internal
35
	 * 
36
	 * @return boolean
37
	 */
38 24
	public function hasHttpStatusCode() {
39 24
		return ($this->httpStatusCode !== null);
40
	}
41
	
42
	/**
43
	 * @internal
44
	 * 
45
	 * @return int
46
	 */
47 11
	public function getHttpStatusCode() {
48 11
		return $this->httpStatusCode;
49
	}
50
}
51