Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
66.67% covered (warning)
66.67%
2 / 3
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
StatementCountField
66.67% covered (warning)
66.67%
2 / 3
0.00% covered (danger)
0.00%
0 / 1
2.15
0.00% covered (danger)
0.00%
0 / 1
 getFieldData
66.67% covered (warning)
66.67%
2 / 3
0.00% covered (danger)
0.00%
0 / 1
2.15
1<?php
2
3namespace Wikibase\Search\Elastic\Fields;
4
5use Wikibase\DataModel\Entity\EntityDocument;
6use Wikibase\DataModel\Statement\StatementListProvider;
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 StatementCountField extends WikibaseNumericField {
14
15    /**
16     * Field name
17     */
18    public const NAME = 'statement_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 StatementListProvider ) {
29            return $entity->getStatements()->count();
30        }
31
32        return 0;
33    }
34
35}