TeamMembership::getTeam()   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: 2/27/18
7
 * Time: 6:33 PM
8
 */
9
10
namespace Tfboe\FmLib\Entity\Traits;
11
12
13
use Tfboe\FmLib\Entity\Helpers\UUIDEntity;
14
use Tfboe\FmLib\Entity\PlayerInterface;
15
use Tfboe\FmLib\Entity\TeamInterface;
16
17
/**
18
 * Trait TeamMembership
19
 * @package Tfboe\FmLib\Entity\Traits
20
 */
21
trait TeamMembership
22
{
23
  use UUIDEntity;
24
25
//<editor-fold desc="Fields">
26
  /**
27
   * @ORM\ManyToOne(targetEntity="\Tfboe\FmLib\Entity\TeamInterface", inversedBy="memberships")
28
   * @ORM\JoinColumn(name="team_id", referencedColumnName="id", nullable=false)
29
   * @var TeamInterface
30
   */
31
  private $team;
32
  /**
33
   * @ORM\ManyToOne(targetEntity="\Tfboe\FmLib\Entity\PlayerInterface")
34
   * @ORM\JoinColumn(name="player_id", referencedColumnName="id", nullable=false)
35
   * @var PlayerInterface
36
   */
37
  private $player;
38
//</editor-fold desc="Fields">
39
40
//<editor-fold desc="Public Methods">
41
  /**
42
   * @return PlayerInterface
43
   */
44
  public function getPlayer(): PlayerInterface
45
  {
46
    return $this->player;
47
  }
48
49
  /**
50
   * @return TeamInterface
51
   */
52
  public function getTeam(): TeamInterface
53
  {
54
    return $this->team;
55
  }
56
57
  /**
58
   * @param PlayerInterface $player
59
   */
60
  public function setPlayer(PlayerInterface $player): void
61
  {
62
    $this->player = $player;
63
  }
64
65
  /**
66
   * @param TeamInterface $team
67
   */
68
  public function setTeam(TeamInterface $team): void
69
  {
70
    if ($this->team !== null) {
71
      $this->team->getMemberships()->remove($this->getId());
72
    }
73
    $this->team = $team;
74
    $this->team->getMemberships()->set($this->getId(), $this);
75
  }
76
//</editor-fold desc="Public Methods">
77
}