ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
Handler.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
23use ILIAS\Poll\Image\I\Repository\Element\HandlerInterface as ilPollImageRepositoryElementInterface;
24use ILIAS\Poll\Image\I\Repository\Element\Wrapper\FactoryInterface as ilPollImageRepositoryElementWrapperFactoryInterface;
25use ILIAS\Poll\Image\I\Repository\Element\Wrapper\IRSS\HandlerInterface as ilPollImageRepositoryElmentIRSSWrapperInterface;
26use ILIAS\Poll\Image\I\Repository\Key\HandlerInterface as ilPollImageRepositoryKeyInterface;
27use ILIAS\Poll\Image\I\Repository\Values\HandlerInterface as ilPollImageRepositoryValuesInterface;
28
29class Handler implements ilPollImageRepositoryElementInterface
30{
31 protected ilPollImageRepositoryElementWrapperFactoryInterface $wrapper;
32 protected ilPollImageRepositoryValuesInterface $values;
33 protected ilPollImageRepositoryKeyInterface $key;
34
35 public function __construct(
36 ilPollImageRepositoryElementWrapperFactoryInterface $wrapper
37 ) {
38 $this->wrapper = $wrapper;
39 }
40
41 public function withKey(
42 ilPollImageRepositoryKeyInterface $key
43 ): ilPollImageRepositoryElementInterface {
44 $clone = clone $this;
45 $clone->key = $key;
46 return $clone;
47 }
48
49 public function withValues(
50 ilPollImageRepositoryValuesInterface $values
51 ): ilPollImageRepositoryElementInterface {
52 $clone = clone $this;
53 $clone->values = $values;
54 return $clone;
55 }
56
57 public function getKey(): ilPollImageRepositoryKeyInterface
58 {
59 return $this->key;
60 }
61
62 public function getValues(): ilPollImageRepositoryValuesInterface
63 {
64 return $this->values;
65 }
66
67 public function getIRSS(): ilPollImageRepositoryElmentIRSSWrapperInterface
68 {
69 return $this->wrapper->irss()->handler()->withResourceIdSerialized($this->getValues()->getResourceIdSerialized());
70 }
71
72 public function isValid(): bool
73 {
74 return isset($this->key) and $this->getKey()->isValid();
75 }
76}
ilPollImageRepositoryElementWrapperFactoryInterface $wrapper
Definition: Handler.php:31
__construct(ilPollImageRepositoryElementWrapperFactoryInterface $wrapper)
Definition: Handler.php:35
ilPollImageRepositoryValuesInterface $values
Definition: Handler.php:32
withKey(ilPollImageRepositoryKeyInterface $key)
Definition: Handler.php:41
ilPollImageRepositoryKeyInterface $key
Definition: Handler.php:33
withValues(ilPollImageRepositoryValuesInterface $values)
Definition: Handler.php:49