ILIAS  trunk Revision v11.0_alpha-1723-g8e69f309bab
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
Handler.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
23 use ILIAS\Poll\Image\I\Repository\Element\HandlerInterface as ilPollImageRepositoryElementInterface;
24 use ILIAS\Poll\Image\I\Repository\Element\Wrapper\FactoryInterface as ilPollImageRepositoryElementWrapperFactoryInterface;
25 use ILIAS\Poll\Image\I\Repository\Element\Wrapper\IRSS\HandlerInterface as ilPollImageRepositoryElmentIRSSWrapperInterface;
26 use ILIAS\Poll\Image\I\Repository\Key\HandlerInterface as ilPollImageRepositoryKeyInterface;
27 use ILIAS\Poll\Image\I\Repository\Values\HandlerInterface as ilPollImageRepositoryValuesInterface;
28 
29 class 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 }
ilPollImageRepositoryKeyInterface $key
Definition: Handler.php:33
withValues(ilPollImageRepositoryValuesInterface $values)
Definition: Handler.php:49
ilPollImageRepositoryValuesInterface $values
Definition: Handler.php:32
ilPollImageRepositoryElementWrapperFactoryInterface $wrapper
Definition: Handler.php:31
__construct(ilPollImageRepositoryElementWrapperFactoryInterface $wrapper)
Definition: Handler.php:35
withKey(ilPollImageRepositoryKeyInterface $key)
Definition: Handler.php:41