ByPropertyIdStatementGrouper   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
c 0
b 0
f 0
lcom 0
cbo 3
dl 0
loc 26
ccs 10
cts 10
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A groupStatements() 0 16 3
1
<?php
2
3
namespace Wikibase\DataModel\Services\Statement\Grouper;
4
5
use Wikibase\DataModel\Statement\StatementList;
6
7
/**
8
 * @since 3.2
9
 *
10
 * @license GPL-2.0-or-later
11
 * @author Thiemo Kreuz
12
 */
13
class ByPropertyIdStatementGrouper implements StatementGrouper {
14
15
	/**
16
	 * @param StatementList $statements
17
	 *
18
	 * @return StatementList[] An associative array, mapping property id serializations to
19
	 *  StatementList objects.
20
	 */
21 1
	public function groupStatements( StatementList $statements ) {
22
		/** @var StatementList[] $groups */
23 1
		$groups = [];
24
25 1
		foreach ( $statements->toArray() as $statement ) {
26 1
			$id = $statement->getPropertyId()->getSerialization();
27
28 1
			if ( !isset( $groups[$id] ) ) {
29 1
				$groups[$id] = new StatementList();
30 1
			}
31
32 1
			$groups[$id]->addStatement( $statement );
33 1
		}
34
35 1
		return $groups;
36
	}
37
38
}
39