Completed
Pull Request — master (#34)
by Sam
02:44
created

MediawikiFactory::newCategoryTraverser()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 2
1
<?php
2
3
namespace Mediawiki\Api;
4
5
use Mediawiki\Api\Service\CategoryTraverser;
6
use Mediawiki\Api\Service\FileUploader;
7
use Mediawiki\Api\Service\ImageRotator;
8
use Mediawiki\Api\Service\LogListGetter;
9
use Mediawiki\Api\Service\PageDeleter;
10
use Mediawiki\Api\Service\PageListGetter;
11
use Mediawiki\Api\Service\PageMover;
12
use Mediawiki\Api\Service\PageProtector;
13
use Mediawiki\Api\Service\PagePurger;
14
use Mediawiki\Api\Service\PageGetter;
15
use Mediawiki\Api\Service\PageRestorer;
16
use Mediawiki\Api\Service\PageWatcher;
17
use Mediawiki\Api\Service\Parser;
18
use Mediawiki\Api\Service\RevisionDeleter;
19
use Mediawiki\Api\Service\RevisionPatroller;
20
use Mediawiki\Api\Service\RevisionRestorer;
21
use Mediawiki\Api\Service\RevisionRollbacker;
22
use Mediawiki\Api\Service\RevisionSaver;
23
use Mediawiki\Api\Service\RevisionUndoer;
24
use Mediawiki\Api\Service\UserBlocker;
25
use Mediawiki\Api\Service\UserCreator;
26
use Mediawiki\Api\Service\UserGetter;
27
use Mediawiki\Api\Service\UserRightsChanger;
28
29
/**
30
 * @access public
31
 *
32
 * @author Addshore
33
 */
34
class MediawikiFactory {
35
36
	/**
37
	 * @var MediawikiApi
38
	 */
39
	private $api;
40
41
	/**
42
	 * @param MediawikiApi $api
43
	 */
44 21
	public function __construct( MediawikiApi $api ) {
45 21
		$this->api = $api;
46 21
	}
47
48
	/**
49
	 * Get a new CategoryTraverser object for this API.
50
	 * @return \Mediawiki\Api\Service\CategoryTraverser
51
	 */
52
	public function newCategoryTraverser() {
53
		return new CategoryTraverser( $this->api );
54
	}
55
56
	/**
57
	 * @since 0.3
58
	 * @return RevisionSaver
59
	 */
60 1
	public function newRevisionSaver() {
61 1
		return new RevisionSaver( $this->api );
62
	}
63
64
	/**
65
	 * @since 0.5
66
	 * @return RevisionUndoer
67
	 */
68 1
	public function newRevisionUndoer() {
69 1
		return new RevisionUndoer( $this->api );
70
	}
71
72
	/**
73
	 * @since 0.3
74
	 * @return PageGetter
75
	 */
76 1
	public function newPageGetter() {
77 1
		return new PageGetter( $this->api );
78
	}
79
80
	/**
81
	 * @since 0.3
82
	 * @return UserGetter
83
	 */
84 1
	public function newUserGetter() {
85 1
		return new UserGetter( $this->api );
86
	}
87
88
	/**
89
	 * @since 0.3
90
	 * @return PageDeleter
91
	 */
92 1
	public function newPageDeleter() {
93 1
		return new PageDeleter( $this->api );
94
	}
95
96
	/**
97
	 * @since 0.3
98
	 * @return PageMover
99
	 */
100 1
	public function newPageMover() {
101 1
		return new PageMover( $this->api );
102
	}
103
104
	/**
105
	 * @since 0.3
106
	 * @return PageListGetter
107
	 */
108 1
	public function newPageListGetter() {
109 1
		return new PageListGetter( $this->api );
110
	}
111
112
	/**
113
	 * @since 0.3
114
	 * @return PageRestorer
115
	 */
116 1
	public function newPageRestorer() {
117 1
		return new PageRestorer( $this->api );
118
	}
119
120
	/**
121
	 * @since 0.3
122
	 * @return PagePurger
123
	 */
124 1
	public function newPagePurger() {
125 1
		return new PagePurger( $this->api );
126
	}
127
128
	/**
129
	 * @since 0.3
130
	 * @return RevisionRollbacker
131
	 */
132 1
	public function newRevisionRollbacker() {
133 1
		return new RevisionRollbacker( $this->api );
134
	}
135
136
	/**
137
	 * @since 0.3
138
	 * @return RevisionPatroller
139
	 */
140 1
	public function newRevisionPatroller() {
141 1
		return new RevisionPatroller( $this->api );
142
	}
143
144
	/**
145
	 * @since 0.3
146
	 * @return PageProtector
147
	 */
148 1
	public function newPageProtector() {
149 1
		return new PageProtector( $this->api );
150
	}
151
152
	/**
153
	 * @since 0.5
154
	 * @return PageWatcher
155
	 */
156 1
	public function newPageWatcher() {
157 1
		return new PageWatcher( $this->api );
158
	}
159
160
	/**
161
	 * @since 0.3
162
	 * @return RevisionDeleter
163
	 */
164 1
	public function newRevisionDeleter() {
165 1
		return new RevisionDeleter( $this->api );
166
	}
167
168
	/**
169
	 * @since 0.3
170
	 * @return RevisionRestorer
171
	 */
172 1
	public function newRevisionRestorer() {
173 1
		return new RevisionRestorer( $this->api );
174
	}
175
176
	/**
177
	 * @since 0.3
178
	 * @return UserBlocker
179
	 */
180 1
	public function newUserBlocker() {
181 1
		return new UserBlocker( $this->api );
182
	}
183
184
	/**
185
	 * @since 0.3
186
	 * @return UserRightsChanger
187
	 */
188 1
	public function newUserRightsChanger() {
189 1
		return new UserRightsChanger( $this->api );
190
	}
191
192
	/**
193
	 * @since 0.5
194
	 * @return UserCreator
195
	 */
196 1
	public function newUserCreator() {
197 1
		return new UserCreator( $this->api );
198
	}
199
200
	/**
201
	 * @since 0.4
202
	 * @return LogListGetter
203
	 */
204 1
	public function newLogListGetter() {
205 1
		return new LogListGetter( $this->api );
206
	}
207
208
	/**
209
	 * @since 0.5
210
	 * @return FileUploader
211
	 */
212 1
	public function newFileUploader() {
213 1
		return new FileUploader( $this->api );
214
	}
215
216
	/**
217
	 * @since 0.5
218
	 * @return ImageRotator
219
	 */
220 1
	public function newImageRotator() {
221 1
		return new ImageRotator( $this->api );
222
	}
223
224
	/**
225
	 * @since 0.6
226
	 * @return Parser
227
	 */
228
	public function newParser() {
229
		return new Parser( $this->api );
230
	}
231
}
232