ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
Services.php
Go to the documentation of this file.
1 <?php declare(strict_types=1);
2 
3 namespace ILIAS\ResourceStorage;
4 
20 
26 class Services
27 {
28 
32  protected $manager;
36  protected $consumers;
40  protected $preloader;
41 
42 
53  public function __construct(
54  StorageHandlerFactory $storage_handler_factory,
55  RevisionRepository $revision_repository,
56  ResourceRepository $resource_repository,
57  InformationRepository $information_repository,
58  StakeholderRepository $stakeholder_repository,
59  LockHandler $lock_handler,
60  FileNamePolicy $file_name_policy,
62  ) {
63  $file_name_policy_stack = new FileNamePolicyStack();
64  $file_name_policy_stack->addPolicy($file_name_policy);
65 
66  $b = new ResourceBuilder(
67  $storage_handler_factory,
68  $revision_repository,
69  $resource_repository,
70  $information_repository,
71  $stakeholder_repository,
72  $lock_handler,
73  $file_name_policy_stack
74  );
75  $this->preloader = $preloader ?? new StandardRepositoryPreloader(
76  $resource_repository,
77  $revision_repository,
78  $information_repository,
79  $stakeholder_repository
80  );
81 
82  $this->manager = new Manager($b, $this->preloader);
83  $this->consumers = new Consumers(
84  new ConsumerFactory(
85  $storage_handler_factory,
86  $file_name_policy_stack
87  ),
88  $b
89  );
90  }
91 
92  public function manage() : Manager
93  {
94  return $this->manager;
95  }
96 
97  public function consume() : Consumers
98  {
99  return $this->consumers;
100  }
101 
102  public function preload(array $identification_strings) : void
103  {
104  $this->preloader->preload($identification_strings);
105  }
106 
107 }
__construct(StorageHandlerFactory $storage_handler_factory, RevisionRepository $revision_repository, ResourceRepository $resource_repository, InformationRepository $information_repository, StakeholderRepository $stakeholder_repository, LockHandler $lock_handler, FileNamePolicy $file_name_policy, RepositoryPreloader $preloader=null)
Services constructor.
Definition: Services.php:53
Class StorageManager.
Definition: Manager.php:21
preload(array $identification_strings)
Definition: Services.php:102
Class ilAsqQuestionAuthoringFactory.