Rule.php
926 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php declare( strict_types=1 );
namespace ACP\ConditionalFormat\Entity;
use ACP\ConditionalFormat\Type\Format;
use BadMethodCallException;
final class Rule {
private $column_name;
private $format;
private $operator;
private $fact;
public function __construct( string $column_name, Format $format, string $operator, $fact = null ) {
$this->column_name = $column_name;
$this->format = $format;
$this->operator = $operator;
$this->fact = $fact;
}
public function get_column_name(): string {
return $this->column_name;
}
public function get_format(): Format {
return $this->format;
}
public function get_operator(): string {
return $this->operator;
}
public function has_fact(): bool {
return $this->fact !== null;
}
public function get_fact() {
if ( ! $this->has_fact() ) {
throw new BadMethodCallException( 'Fact is not stated for this rule.' );
}
return $this->fact;
}
}