registeredAt = new \DateTime(); $this->preferences = new ArrayCollection(); } /** * @return int */ public function getId() { return $this->id; } /** * @return \DateTime */ public function getRegisteredAt() { return $this->registeredAt; } /** * @param \DateTime $registeredAt * @return $this */ public function setRegisteredAt(\DateTime $registeredAt) { $this->registeredAt = $registeredAt; return $this; } /** * @param string $alias * @return $this */ public function setAlias($alias) { $this->alias = $alias; return $this; } /** * @return string */ public function getAlias() { return $this->alias; } /** * @return string */ public function getTitle() { return $this->title; } /** * @param string $title * @return $this */ public function setTitle($title) { $this->title = $title; return $this; } /** * @return string */ public function getAvatar() { return $this->avatar; } /** * @param string $avatar * @return $this */ public function setAvatar($avatar) { $this->avatar = $avatar; return $this; } /** * @return string */ public function getApiToken() { return $this->apiToken; } /** * @param string $apiToken * @return User */ public function setApiToken($apiToken) { $this->apiToken = $apiToken; return $this; } /** * @return string */ public function getPlainApiToken(): ?string { return $this->plainApiToken; } /** * @param string $plainApiToken * @return User */ public function setPlainApiToken(string $plainApiToken) { $this->plainApiToken = $plainApiToken; return $this; } /** * @return UserPreference[]|Collection */ public function getPreferences(): Collection { return $this->preferences; } /** * @param UserPreference[]|Collection $preferences * @return User */ public function setPreferences($preferences) { $this->preferences = new ArrayCollection(); foreach ($preferences as $preference) { $this->addPreference($preference); } return $this; } /** * @param string $name * @return UserPreference|null */ public function getPreference(string $name) { foreach ($this->preferences as $preference) { if ($preference->getName() == $name) { return $preference; } } return null; } /** * @param string $name * @param mixed $default * @return bool|int|null|string */ public function getPreferenceValue($name, $default = null) { $preference = $this->getPreference($name); if (null === $preference) { return $default; } return $preference->getValue(); } /** * @param UserPreference $preference * @return User */ public function addPreference(UserPreference $preference) { $this->preferences->add($preference); $preference->setUser($this); return $this; } /** * @return string */ public function __toString() { return $this->getAlias() ?: $this->getUsername(); } }