ILIAS  release_8 Revision v8.24
Services.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\ResourceStorage;
22
41
48{
49 protected \ILIAS\ResourceStorage\Manager\Manager $manager;
50 protected \ILIAS\ResourceStorage\Consumer\Consumers $consumers;
51 protected \ILIAS\ResourceStorage\Collection\Collections $collections;
52 protected \ILIAS\ResourceStorage\Preloader\RepositoryPreloader $preloader;
53
58 public function __construct(
59 StorageHandlerFactory $storage_handler_factory,
60 Repositories $repositories,
61 LockHandler $lock_handler,
62 FileNamePolicy $file_name_policy,
63 StreamAccess $stream_access,
64 SrcBuilder $src_builder = null,
66 ) {
67 $src_builder ??= new InlineSrcBuilder();
68 $stream_info_factory = new TokenFactory(
69 $storage_handler_factory->getBaseDir()
70 );
71 $file_name_policy_stack = new FileNamePolicyStack();
72 $file_name_policy_stack->addPolicy($file_name_policy);
73 $resource_builder = new ResourceBuilder(
74 $storage_handler_factory,
75 $repositories,
76 $lock_handler,
77 $stream_access,
78 $file_name_policy_stack
79 );
80 $collection_builder = new CollectionBuilder(
81 $repositories->getCollectionRepository(),
83 $lock_handler
84 );
85 $this->preloader = $preloader ?? new StandardRepositoryPreloader($repositories);
86 $this->manager = new Manager(
87 $resource_builder,
88 $collection_builder,
89 $this->preloader
90 );
91 $this->consumers = new Consumers(
93 $stream_access,
94 $file_name_policy_stack
95 ),
96 $resource_builder,
97 $collection_builder,
98 $src_builder
99 );
100 $this->collections = new Collections(
101 $resource_builder,
102 $collection_builder,
103 $this->preloader
104 );
105 }
106
107 public function manage(): Manager
108 {
109 return $this->manager;
110 }
111
112 public function consume(): Consumers
113 {
114 return $this->consumers;
115 }
116
117 public function collection(): Collections
118 {
119 return $this->collections;
120 }
121
122 public function preload(array $identification_strings): void
123 {
124 $this->preloader->preload($identification_strings);
125 }
126}
ILIAS ResourceStorage Collection Collections $collections
Definition: Services.php:51
ILIAS ResourceStorage Consumer Consumers $consumers
Definition: Services.php:50
ILIAS ResourceStorage Manager Manager $manager
Definition: Services.php:49
__construct(StorageHandlerFactory $storage_handler_factory, Repositories $repositories, LockHandler $lock_handler, FileNamePolicy $file_name_policy, StreamAccess $stream_access, SrcBuilder $src_builder=null, RepositoryPreloader $preloader=null)
Services constructor.
Definition: Services.php:58
preload(array $identification_strings)
Definition: Services.php:122
ILIAS ResourceStorage Preloader RepositoryPreloader $preloader
Definition: Services.php:52
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...