TournamentHierarchyEntity   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 9

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 9
dl 0
loc 53
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getRankingSystems() 0 4 1
1
<?php
2
declare(strict_types=1);
3
/**
4
 * Created by PhpStorm.
5
 * User: benedikt
6
 * Date: 1/12/18
7
 * Time: 11:45 AM
8
 */
9
10
namespace Tfboe\FmLib\Entity\Helpers;
11
12
13
use Doctrine\Common\Collections\ArrayCollection;
14
use Doctrine\Common\Collections\Collection;
15
use Doctrine\ORM\Mapping as ORM;
16
use Tfboe\FmLib\Entity\CategoryTraits\GameMode;
17
use Tfboe\FmLib\Entity\CategoryTraits\OrganizingMode;
18
use Tfboe\FmLib\Entity\CategoryTraits\ScoreMode;
19
use Tfboe\FmLib\Entity\CategoryTraits\Table;
20
use Tfboe\FmLib\Entity\CategoryTraits\TeamMode;
21
use Tfboe\FmLib\Entity\RankingSystemChangeInterface;
22
use Tfboe\FmLib\Entity\RankingSystemInterface;
23
24
/**
25
 * @ORM\Entity
26
 * @ORM\InheritanceType("JOINED")
27
 * @ORM\DiscriminatorColumn(name="discriminator", type="string")
28
 */
29
abstract class TournamentHierarchyEntity extends BaseEntity implements TournamentHierarchyInterface
30
{
31
  use GameMode;
32
  use TeamMode;
33
  use OrganizingMode;
34
  use ScoreMode;
35
  use Table;
36
  use TimeEntity;
37
  use UUIDEntity;
38
39
//<editor-fold desc="Fields">
40
  /**
41
   * @ORM\ManyToMany(
42
   *     targetEntity="\Tfboe\FmLib\Entity\RankingSystemInterface",
43
   *     inversedBy="hierarchyEntries",
44
   *     indexBy="id"
45
   * )
46
   * @ORM\JoinTable(name="relation__hierarchy_entities_ranking_systems")
47
   * @var Collection|RankingSystemInterface[]
48
   */
49
  private $rankingSystems;
50
51
  /**
52
   * @ORM\OneToMany(
53
   *   targetEntity="\Tfboe\FmLib\Entity\RankingSystemChangeInterface",
54
   *   mappedBy="hierarchyEntity",
55
   *   cascade={"remove"}
56
   * )
57
   * @var RankingSystemChangeInterface
58
   */
59
  private $rankingSystemChanges;
60
//</editor-fold desc="Fields">
61
62
//<editor-fold desc="Constructor">
63
  /**
64
   * Competition constructor.
65
   */
66
  public function __construct()
67
  {
68
    $this->rankingSystems = new ArrayCollection();
69
  }
70
//</editor-fold desc="Constructor">
71
72
//<editor-fold desc="Public Methods">
73
  /**
74
   * @return RankingSystemInterface[]|Collection
75
   */
76
  public function getRankingSystems()
77
  {
78
    return $this->rankingSystems;
79
  }
80
//</editor-fold desc="Public Methods">
81
}