Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
SiteLinkCountField
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 getFieldData
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3namespace Wikibase\Search\Elastic\Fields;
4
5use Wikibase\DataModel\Entity\EntityDocument;
6use Wikibase\DataModel\Entity\Item;
7use Wikibase\Repo\Search\Fields\WikibaseNumericField;
8
9/**
10 * @license GPL-2.0-or-later
11 * @author Katie Filbert < aude.wiki@gmail.com >
12 */
13class SiteLinkCountField extends WikibaseNumericField {
14
15    /**
16     * Field name
17     */
18    public const NAME = 'sitelink_count';
19
20    /**
21     * @see SearchIndexField::getFieldData
22     *
23     * @param EntityDocument $entity
24     *
25     * @return int
26     */
27    public function getFieldData( EntityDocument $entity ) {
28        if ( $entity instanceof Item ) {
29            return $entity->getSiteLinkList()->count();
30        }
31
32        return 0;
33    }
34
35}