Completed
Push — master ( 715718...c4fc6e )
by Benedikt
02:30
created

TeamMembership::setPlayer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
rs 10
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
   * @var TeamInterface
29
   */
30
  private $team;
31
  /**
32
   * @ORM\ManyToOne(targetEntity="\Tfboe\FmLib\Entity\PlayerInterface")
33
   * @var PlayerInterface
34
   */
35
  private $player;
36
//</editor-fold desc="Fields">
37
38
//<editor-fold desc="Public Methods">
39
  /**
40
   * @return PlayerInterface
41
   */
42
  public function getPlayer(): PlayerInterface
43
  {
44
    return $this->player;
45
  }
46
47
  /**
48
   * @return TeamInterface
49
   */
50
  public function getTeam(): TeamInterface
51
  {
52
    return $this->team;
53
  }
54
55
  /**
56
   * @param PlayerInterface $player
57
   */
58
  public function setPlayer(PlayerInterface $player): void
59
  {
60
    $this->player = $player;
61
  }
62
63
  /**
64
   * @param TeamInterface $team
65
   */
66
  public function setTeam(TeamInterface $team): void
67
  {
68
    if ($this->team !== null) {
69
      $this->team->getMemberships()->remove($this->getId());
70
    }
71
    $this->team = $team;
72
    $this->team->getMemberships()->set($this->getId(), $this);
73
  }
74
//</editor-fold desc="Public Methods">
75
}