FilteredHttpResponseParserFactory   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 118
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 7

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 8
lcom 1
cbo 7
dl 0
loc 118
ccs 31
cts 31
cp 1
rs 10
c 0
b 0
f 0

8 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A newCrossRefFilteredHttpResponseParser() 0 6 1
A newViafFilteredHttpResponseParser() 0 6 1
A newOclcFilteredHttpResponseParser() 0 6 1
A newOLFilteredHttpResponseParser() 0 6 1
A newNcbiPubMedFilteredHttpResponseParser() 0 9 1
A newNcbiPubMedCentralFilteredHttpResponseParser() 0 9 1
A newNullResponseParser() 0 3 1
1
<?php
2
3
namespace Onoi\Remi;
4
5
use Onoi\HttpRequest\HttpRequest;
6
use Onoi\Remi\CrossRef\CrossRefFilteredHttpResponseParser;
7
use Onoi\Remi\Viaf\ViafFilteredHttpResponseParser;
8
use Onoi\Remi\Ncbi\NcbiPubMedFilteredHttpResponseParser;
9
use Onoi\Remi\Oclc\OclcFilteredHttpResponseParser;
10
use Onoi\Remi\OpenLibrary\OLFilteredHttpResponseParser;
11
12
/**
13
 * @license GNU GPL v2+
14
 * @since 0.1
15
 *
16
 * @author mwjames
17
 */
18
class FilteredHttpResponseParserFactory {
19
20
	/**
21
	 * @var HttpRequest
22
	 */
23
	private $httpRequest;
24
25
	/**
26
	 * @since 0.1
27
	 *
28
	 * @param HttpRequest $httpRequest
29
	 */
30 28
	public function __construct( HttpRequest $httpRequest ) {
31 28
		$this->httpRequest = $httpRequest;
32 28
	}
33
34
	/**
35
	 * @since 0.1
36
	 *
37
	 * @param FilteredRecord $filteredRecord
38
	 *
39
	 * @return ResponseParser
40
	 */
41 5
	public function newCrossRefFilteredHttpResponseParser( FilteredRecord $filteredRecord ) {
42 5
		return new CrossRefFilteredHttpResponseParser(
43 5
			$this->httpRequest,
44
			$filteredRecord
45 5
		);
46
	}
47
48
	/**
49
	 * @since 0.1
50
	 *
51
	 * @param FilteredRecord $filteredRecord
52
	 *
53
	 * @return ResponseParser
54
	 */
55 5
	public function newViafFilteredHttpResponseParser( FilteredRecord $filteredRecord ) {
56 5
		return new ViafFilteredHttpResponseParser(
57 5
			$this->httpRequest,
58
			$filteredRecord
59 5
		);
60
	}
61
62
	/**
63
	 * @since 0.1
64
	 *
65
	 * @param FilteredRecord $filteredRecord
66
	 *
67
	 * @return ResponseParser
68
	 */
69 6
	public function newOclcFilteredHttpResponseParser( FilteredRecord $filteredRecord ) {
70 6
		return new OclcFilteredHttpResponseParser(
71 6
			$this->httpRequest,
72
			$filteredRecord
73 6
		);
74
	}
75
76
	/**
77
	 * @since 0.1
78
	 *
79
	 * @param FilteredRecord $filteredRecord
80
	 *
81
	 * @return ResponseParser
82
	 */
83 4
	public function newOLFilteredHttpResponseParser( FilteredRecord $filteredRecord ) {
84 4
		return new OLFilteredHttpResponseParser(
85 4
			$this->httpRequest,
86
			$filteredRecord
87 4
		);
88
	}
89
90
	/**
91
	 * @since 0.1
92
	 *
93
	 * @param FilteredRecord $filteredRecord
94
	 *
95
	 * @return ResponseParser
96
	 */
97 2
	public function newNcbiPubMedFilteredHttpResponseParser( FilteredRecord $filteredRecord ) {
98
99 2
		$filteredRecord->set( 'ncbi-dbtype', 'pubmed' );
100
101 2
		return new NcbiPubMedFilteredHttpResponseParser(
102 2
			$this->httpRequest,
103
			$filteredRecord
104 2
		);
105
	}
106
107
	/**
108
	 * @since 0.1
109
	 *
110
	 * @param FilteredRecord $filteredRecord
111
	 *
112
	 * @return ResponseParser
113
	 */
114 4
	public function newNcbiPubMedCentralFilteredHttpResponseParser( FilteredRecord $filteredRecord ) {
115
116 4
		$filteredRecord->set( 'ncbi-dbtype', 'pmc' );
117
118 4
		return new NcbiPubMedFilteredHttpResponseParser(
119 4
			$this->httpRequest,
120
			$filteredRecord
121 4
		);
122
	}
123
124
	/**
125
	 * @since 0.1
126
	 *
127
	 * @param FilteredRecord $filteredRecord
128
	 *
129
	 * @return ResponseParser
130
	 */
131 1
	public function newNullResponseParser( FilteredRecord $filteredRecord ) {
132 1
		return new NullResponseParser( $filteredRecord );
133
	}
134
135
}
136