RankingSystemChange::getRankingSystem()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
/**
4
 * Created by PhpStorm.
5
 * User: benedikt
6
 * Date: 1/5/18
7
 * Time: 10:54 PM
8
 */
9
10
namespace Tfboe\FmLib\Entity\Traits;
11
12
13
use Doctrine\ORM\Mapping as ORM;
14
use Tfboe\FmLib\Entity\Helpers\SubClassData;
15
use Tfboe\FmLib\Entity\Helpers\TournamentHierarchyEntity;
16
use Tfboe\FmLib\Entity\Helpers\TournamentHierarchyInterface;
17
use Tfboe\FmLib\Entity\Helpers\UUIDEntity;
18
use Tfboe\FmLib\Entity\PlayerInterface;
19
use Tfboe\FmLib\Entity\RankingSystemInterface;
20
21
/**
22
 * Trait RankingSystemChange
23
 * @package Tfboe\FmLib\Entity\Traits
24
 */
25
trait RankingSystemChange
26
{
27
  use UUIDEntity;
28
  use SubClassData;
29
30
//<editor-fold desc="Fields">
31
  /**
32
   * @ORM\ManyToOne(targetEntity="\Tfboe\FmLib\Entity\RankingSystemInterface", inversedBy="changes")
33
   * @var RankingSystemInterface
34
   */
35
  private $rankingSystem;
36
37
  /**
38
   * @ORM\Column(type="float")
39
   * @var float
40
   */
41
  private $pointsChange;
42
43
  /**
44
   * @ORM\Column(type="float")
45
   * @var float
46
   */
47
  private $pointsAfterwards;
48
49
  /**
50
   * @ORM\ManyToOne(targetEntity="\Tfboe\FmLib\Entity\PlayerInterface")
51
   * @var PlayerInterface
52
   */
53
  private $player;
54
55
  /**
56
   * @ORM\ManyToOne(
57
   *   targetEntity="\Tfboe\FmLib\Entity\Helpers\TournamentHierarchyEntity",
58
   *   inversedBy="rankingSystemChanges"
59
   * )
60
   * @var TournamentHierarchyEntity
61
   */
62
  private $hierarchyEntity;
63
//</editor-fold desc="Fields">
64
65
//<editor-fold desc="Constructor">
66
//</editor-fold desc="Constructor">
67
68
//<editor-fold desc="Public Methods">
69
  /**
70
   * @return TournamentHierarchyEntity
71
   */
72
  public function getHierarchyEntity(): TournamentHierarchyEntity
73
  {
74
    return $this->hierarchyEntity;
75
  }
76
77
  /**
78
   * @return PlayerInterface
79
   */
80
  public function getPlayer(): PlayerInterface
81
  {
82
    return $this->player;
83
  }
84
85
  /**
86
   * @return float
87
   */
88
  public function getPointsAfterwards(): float
89
  {
90
    return $this->pointsAfterwards;
91
  }
92
93
  /**
94
   * @return float
95
   */
96
  public function getPointsChange(): float
97
  {
98
    return $this->pointsChange;
99
  }
100
101
  /**
102
   * @return RankingSystemInterface
103
   */
104
  public function getRankingSystem(): RankingSystemInterface
105
  {
106
    return $this->rankingSystem;
107
  }
108
109
  /**
110
   * @param TournamentHierarchyInterface $hierarchyEntity
111
   */
112
  public function setHierarchyEntity(TournamentHierarchyInterface $hierarchyEntity)
113
  {
114
    $this->hierarchyEntity = $hierarchyEntity;
0 ignored issues
show
Documentation Bug introduced by
$hierarchyEntity is of type object<Tfboe\FmLib\Entit...mentHierarchyInterface>, but the property $hierarchyEntity was declared to be of type object<Tfboe\FmLib\Entit...rnamentHierarchyEntity>. Are you sure that you always receive this specific sub-class here, or does it make sense to add an instanceof check?

Our type inference engine has found a suspicous assignment of a value to a property. This check raises an issue when a value that can be of a given class or a super-class is assigned to a property that is type hinted more strictly.

Either this assignment is in error or an instanceof check should be added for that assignment.

class Alien {}

class Dalek extends Alien {}

class Plot
{
    /** @var  Dalek */
    public $villain;
}

$alien = new Alien();
$plot = new Plot();
if ($alien instanceof Dalek) {
    $plot->villain = $alien;
}
Loading history...
115
  }
116
117
  /**
118
   * @param PlayerInterface $player
119
   */
120
  public function setPlayer(PlayerInterface $player)
121
  {
122
    $this->player = $player;
123
  }
124
125
  /**
126
   * @param float $pointsAfterwards
127
   */
128
  public function setPointsAfterwards(float $pointsAfterwards)
129
  {
130
    $this->pointsAfterwards = $pointsAfterwards;
131
  }
132
133
  /**
134
   * @param float $pointsChange
135
   */
136
  public function setPointsChange(float $pointsChange)
137
  {
138
    $this->pointsChange = $pointsChange;
139
  }
140
141
  /**
142
   * @param RankingSystemInterface $rankingSystem
143
   */
144
  public function setRankingSystem(RankingSystemInterface $rankingSystem)
145
  {
146
    $this->rankingSystem = $rankingSystem;
147
  }
148
//</editor-fold desc="Public Methods">
149
150
//<editor-fold desc="Protected Final Methods">
151
  /**
152
   * RankingSystemChange init
153
   * @param string[] $keys list of additional fields
154
   */
155
  protected final function init(array $keys)
156
  {
157
    $this->initSubClassData($keys);
158
  }
159
//</editor-fold desc="Protected Final Methods">
160
161
}