Passed
Push — master ( cb35bf...01d583 )
by Marius
35s
created

LegacyAdapterItemLookup   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 0
loc 23
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A getItemForId() 0 7 2
1
<?php
2
3
namespace Wikibase\DataModel\Services\Lookup;
4
5
use Wikibase\DataModel\Entity\Item;
6
use Wikibase\DataModel\Entity\ItemId;
7
8
/**
9
 * ItemLookup implementation providing a migration path away from
10
 * the EntityLookup interface.
11
 *
12
 * @license GPL-2.0-or-later
13
 * @author Jeroen De Dauw < [email protected] >
14
 */
15
class LegacyAdapterItemLookup implements ItemLookup {
16
17
	private $lookup;
18
19
	public function __construct( EntityLookup $lookup ) {
20
		$this->lookup = $lookup;
21
	}
22
23
	/**
24
	 * @param ItemId $itemId
25
	 *
26
	 * @return Item|null
27
	 * @throws ItemLookupException
28
	 */
29
	public function getItemForId( ItemId $itemId ) {
30
		try {
31
			return $this->lookup->getEntity( $itemId );
32
		} catch ( EntityLookupException $ex ) {
33
			throw new ItemLookupException( $itemId, $ex->getMessage(), $ex );
34
		}
35
	}
36
37
}
38