Completed
Push — master ( 63546b...ea4d88 )
by mw
08:24
created

ResultPrinterReflector   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 0
dl 0
loc 42
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A addParameters() 0 21 3
A invoke() 0 8 1
1
<?php
2
3
namespace SRF\Tests;
4
5
use ReflectionClass;
6
use SMW\Query\ResultPrinter;
7
8
/**
9
 * @license GNU GPL v2+
10
 * @since 3.1
11
 *
12
 * @author mwjames
13
 */
14
class ResultPrinterReflector {
15
16
	/**
17
	 * Helper method sets result printer parameters
18
	 *
19
	 * @param ResultPrinter $instance
20
	 * @param array $parameters
21
	 *
22
	 * @return ResultPrinter
23
	 */
24
	public function addParameters( ResultPrinter $instance, array $parameters ) {
25
26
		$reflector = new ReflectionClass( $instance );
27
		$params = $reflector->getProperty( 'params' );
28
		$params->setAccessible( true );
29
		$params->setValue( $instance, $parameters );
30
31
		if ( isset( $parameters['searchlabel'] ) ) {
32
			$searchlabel = $reflector->getProperty( 'mSearchlabel' );
33
			$searchlabel->setAccessible( true );
34
			$searchlabel->setValue( $instance, $parameters['searchlabel'] );
35
		}
36
37
		if ( isset( $parameters['headers'] ) ) {
38
			$searchlabel = $reflector->getProperty( 'mShowHeaders' );
39
			$searchlabel->setAccessible( true );
40
			$searchlabel->setValue( $instance, $parameters['headers'] );
41
		}
42
43
		return $instance;
44
	}
45
46
	public function invoke( ResultPrinter $instance, $queryResult, $outputMode ) {
47
48
		$reflector = new ReflectionClass(  $instance );
49
		$method = $reflector->getMethod( 'getResultText' );
50
		$method->setAccessible( true );
51
52
		return $method->invoke( $instance, $queryResult, $outputMode );
53
	}
54
55
}