Completed
Push — master ( c087ad...47fff7 )
by Benedikt
02:33
created

RankingSystemChange   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 135
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 135
c 0
b 0
f 0
rs 10
wmc 11
lcom 0
cbo 2

11 Methods

Rating   Name   Duplication   Size   Complexity  
A getHierarchyEntity() 0 4 1
A getPlayer() 0 4 1
A getPointsAfterwards() 0 4 1
A getPointsChange() 0 4 1
A getRankingSystem() 0 4 1
A setHierarchyEntity() 0 4 1
A setPlayer() 0 4 1
A setPointsAfterwards() 0 4 1
A setPointsChange() 0 4 1
A setRankingSystem() 0 4 1
A init() 0 4 1
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
   * @ORM\JoinColumn(referencedColumnName="player_id")
52
   * @var PlayerInterface
53
   */
54
  private $player;
55
56
  /**
57
   * @ORM\ManyToOne(targetEntity="\Tfboe\FmLib\Entity\Helpers\TournamentHierarchyEntity")
58
   * @var TournamentHierarchyEntity
59
   */
60
  private $hierarchyEntity;
61
//</editor-fold desc="Fields">
62
63
//<editor-fold desc="Constructor">
64
//</editor-fold desc="Constructor">
65
66
//<editor-fold desc="Public Methods">
67
  /**
68
   * @return TournamentHierarchyEntity
69
   */
70
  public function getHierarchyEntity(): TournamentHierarchyEntity
71
  {
72
    return $this->hierarchyEntity;
73
  }
74
75
  /**
76
   * @return PlayerInterface
77
   */
78
  public function getPlayer(): PlayerInterface
79
  {
80
    return $this->player;
81
  }
82
83
  /**
84
   * @return float
85
   */
86
  public function getPointsAfterwards(): float
87
  {
88
    return $this->pointsAfterwards;
89
  }
90
91
  /**
92
   * @return float
93
   */
94
  public function getPointsChange(): float
95
  {
96
    return $this->pointsChange;
97
  }
98
99
  /**
100
   * @return RankingSystemInterface
101
   */
102
  public function getRankingSystem(): RankingSystemInterface
103
  {
104
    return $this->rankingSystem;
105
  }
106
107
  /**
108
   * @param TournamentHierarchyInterface $hierarchyEntity
109
   */
110
  public function setHierarchyEntity(TournamentHierarchyInterface $hierarchyEntity)
111
  {
112
    $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...
113
  }
114
115
  /**
116
   * @param PlayerInterface $player
117
   */
118
  public function setPlayer(PlayerInterface $player)
119
  {
120
    $this->player = $player;
121
  }
122
123
  /**
124
   * @param float $pointsAfterwards
125
   */
126
  public function setPointsAfterwards(float $pointsAfterwards)
127
  {
128
    $this->pointsAfterwards = $pointsAfterwards;
129
  }
130
131
  /**
132
   * @param float $pointsChange
133
   */
134
  public function setPointsChange(float $pointsChange)
135
  {
136
    $this->pointsChange = $pointsChange;
137
  }
138
139
  /**
140
   * @param RankingSystemInterface $rankingSystem
141
   */
142
  public function setRankingSystem(RankingSystemInterface $rankingSystem)
143
  {
144
    $this->rankingSystem = $rankingSystem;
145
  }
146
//</editor-fold desc="Public Methods">
147
148
//<editor-fold desc="Protected Final Methods">
149
  /**
150
   * RankingSystemChange init
151
   * @param string[] $keys list of additional fields
152
   */
153
  protected final function init(array $keys)
154
  {
155
    $this->initSubClassData($keys);
156
  }
157
//</editor-fold desc="Protected Final Methods">
158
159
}