Completed
Push — master ( 7cf7a4...79ea9a )
by Sébastien
02:51
created

JasperReportRunner::compileReport()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Soluble\Jasper\ReportRunner;
6
7
use Soluble\Japha\Bridge\Adapter as BridgeAdapter;
8
use Soluble\Japha\Interfaces\JavaObject;
9
use Soluble\Jasper\Report;
10
11
class JasperReportRunner implements ReportRunnerInterface
12
{
13
    /**
14
     * @var BridgeAdapter
15
     */
16
    protected $ba;
17
18
    public function __construct(BridgeAdapter $bridgeAdapter)
19
    {
20
        $this->ba = $bridgeAdapter;
21
    }
22
23
    /**
24
     * @param Report $report
25
     *
26
     * @return JavaObject Java('net.sf.jasperreports.engine.JasperReport')
27
     */
28
    public function compileReport(Report $report): JavaObject
29
    {
30
        $reportFile = $report->getReportFile();
31
        $compileManager = $this->ba->javaClass('net.sf.jasperreports.engine.JasperCompileManager');
32
        $compiledReport = $compileManager->compileReport($reportFile);
33
34
        return $compiledReport;
35
    }
36
}
37