ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
Flavour.php
Go to the documentation of this file.
1 <?php
18 declare(strict_types=1);
19 
21 
25 
29 class Flavour
30 {
31  private array $streams = [];
32  private array $stream_resolvers = [];
33 
34  public function __construct(private FlavourDefinition $definition, private ResourceIdentification $resource_id, private int $revision)
35  {
36  }
37 
43  public function getPersistingName(): string
44  {
45  return hash('crc32', $this->getName());
46  }
47 
48  public function getName(): string
49  {
50  return $this->definition->getInternalName() . $this->definition->getVariantName();
51  }
52 
54  {
55  return $this->resource_id;
56  }
57 
58  public function withStreamResolver(int $index, ?StreamResolver $stream_resolver = null): Flavour
59  {
60  $this->stream_resolvers[$index] = $stream_resolver;
61 
62  return $this;
63  }
64 
65  public function maybeStreamResolver(int $index): ?StreamResolver
66  {
67  return $this->stream_resolvers[$index] ?? null;
68  }
69 
73  public function getStreamResolvers(): array
74  {
76  }
77 
78  public function getDefinition(): FlavourDefinition
79  {
80  return $this->definition;
81  }
82 
83  public function getRevision(): int
84  {
85  return $this->revision;
86  }
87 }
withStreamResolver(int $index, ?StreamResolver $stream_resolver=null)
Definition: Flavour.php:58
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
__construct(private FlavourDefinition $definition, private ResourceIdentification $resource_id, private int $revision)
Definition: Flavour.php:34
getPersistingName()
Flavours are stored in the file system by the StroageHandler.
Definition: Flavour.php:43