ILIAS  release_8 Revision v8.24
ILIAS\ResourceStorage\Resource\ResourceBuilder Class Reference

Class ResourceBuilder. More...

+ Collaboration diagram for ILIAS\ResourceStorage\Resource\ResourceBuilder:

Public Member Functions

 __construct (StorageHandlerFactory $storage_handler_factory, Repositories $repositories, LockHandler $lock_handler, StreamAccess $stream_access, FileNamePolicy $file_name_policy=null)
 ResourceBuilder constructor. More...
 
 new (UploadResult $result, InfoResolver $info_resolver)
 @inheritDoc More...
 
 newFromStream (FileStream $stream, InfoResolver $info_resolver, bool $keep_original=false)
 
 newBlank ()
 
 append (StorableResource $resource, UploadResult $result, InfoResolver $info_resolver)
 
 replaceWithUpload (StorableResource $resource, UploadResult $result, InfoResolver $info_resolver)
 @inheritDoc More...
 
 appendFromStream (StorableResource $resource, FileStream $stream, InfoResolver $info_resolver, bool $keep_original=false)
 
 replaceWithStream (StorableResource $resource, FileStream $stream, InfoResolver $info_resolver, bool $keep_original=false)
 
 appendFromRevision (StorableResource $resource, int $revision_number)
 
 has (ResourceIdentification $identification)
 @description check if a resource exists More...
 
 store (StorableResource $resource)
 @description after you have modified a resource, you can store it here More...
 
 clone (StorableResource $resource)
 @description Clone anexisting resource with all it's revisions, stakeholders and information More...
 
 storeRevision (Revision $revision)
 @description Store one Revision More...
 
 get (ResourceIdentification $identification)
 
 extractStream (Revision $revision)
 
 remove (StorableResource $resource, ResourceStakeholder $stakeholder=null)
 @description Reve a complete revision. More...
 
 removeRevision (StorableResource $resource, int $revision_number)
 

Protected Attributes

array $resource_cache = []
 
ILIAS ResourceStorage Policy FileNamePolicy $file_name_policy
 
ILIAS ResourceStorage StorageHandler StorageHandler $primary_storage_handler
 

Private Member Functions

 deleteRevision (StorableResource $resource, Revision $revision)
 
 populateNakedResourceWithRevisionsAndStakeholders (StorableResource $resource)
 
 populateRevisionInfo (Revision $revision, InfoResolver $info_resolver)
 

Private Attributes

ILIAS ResourceStorage Information Repository InformationRepository $information_repository
 @readonly More...
 
ILIAS ResourceStorage Resource Repository ResourceRepository $resource_repository
 @readonly More...
 
ILIAS ResourceStorage Revision Repository RevisionRepository $revision_repository
 @readonly More...
 
ILIAS ResourceStorage Stakeholder Repository StakeholderRepository $stakeholder_repository
 @readonly More...
 
StorageHandlerFactory $storage_handler_factory
 
LockHandler $lock_handler
 
StreamAccess $stream_access
 

Detailed Description

Class ResourceBuilder.

Author
Fabian Schmid fs@st.nosp@m.uder.nosp@m.-raim.nosp@m.ann..nosp@m.ch

Definition at line 48 of file ResourceBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\ResourceStorage\Resource\ResourceBuilder::__construct ( StorageHandlerFactory  $storage_handler_factory,
Repositories  $repositories,
LockHandler  $lock_handler,
StreamAccess  $stream_access,
FileNamePolicy  $file_name_policy = null 
)

ResourceBuilder constructor.

Parameters
FileNamePolicy | null$file_name_policy

Definition at line 83 of file ResourceBuilder.php.

89 {
90 $this->storage_handler_factory = $storage_handler_factory;
91 $this->lock_handler = $lock_handler;
92 $this->stream_access = $stream_access;
93 $this->primary_storage_handler = $storage_handler_factory->getPrimary();
94 $this->revision_repository = $repositories->getRevisionRepository();
95 $this->resource_repository = $repositories->getResourceRepository();
96 $this->information_repository = $repositories->getInformationRepository();
97 $this->stakeholder_repository = $repositories->getStakeholderRepository();
98 $this->file_name_policy = $file_name_policy ?? new NoneFileNamePolicy();
99 }
ILIAS ResourceStorage Policy FileNamePolicy $file_name_policy

References ILIAS\ResourceStorage\Resource\ResourceBuilder\$file_name_policy, ILIAS\ResourceStorage\Resource\ResourceBuilder\$lock_handler, ILIAS\ResourceStorage\Resource\ResourceBuilder\$storage_handler_factory, ILIAS\ResourceStorage\Resource\ResourceBuilder\$stream_access, ILIAS\ResourceStorage\Repositories\getInformationRepository(), ILIAS\ResourceStorage\StorageHandler\StorageHandlerFactory\getPrimary(), ILIAS\ResourceStorage\Repositories\getResourceRepository(), ILIAS\ResourceStorage\Repositories\getRevisionRepository(), and ILIAS\ResourceStorage\Repositories\getStakeholderRepository().

+ Here is the call graph for this function:

Member Function Documentation

◆ append()

ILIAS\ResourceStorage\Resource\ResourceBuilder::append ( StorableResource  $resource,
UploadResult  $result,
InfoResolver  $info_resolver 
)

Definition at line 145 of file ResourceBuilder.php.

150 $revision = $this->revision_repository->blankFromUpload($info_resolver, $resource, $result);
151 $revision = $this->populateRevisionInfo($revision, $info_resolver);
152
153 $resource->addRevision($revision);
154 $resource->setStorageID(
155 $resource->getStorageID() === '' ? $this->primary_storage_handler->getID() : $resource->getStorageID()
156 );
157
158 return $resource;
159 }
populateRevisionInfo(Revision $revision, InfoResolver $info_resolver)

Referenced by ILIAS\ResourceStorage\Resource\ResourceBuilder\new().

+ Here is the caller graph for this function:

◆ appendFromRevision()

ILIAS\ResourceStorage\Resource\ResourceBuilder::appendFromRevision ( StorableResource  $resource,
int  $revision_number 
)

Definition at line 222 of file ResourceBuilder.php.

226 $existing_revision = $resource->getSpecificRevision($revision_number);
227 if ($existing_revision instanceof FileRevision) {
228 $info_resolver = new ClonedRevisionInfoResolver(
229 $resource->getMaxRevision() + 1,
230 $existing_revision
231 );
232
233 $cloned_revision = $this->revision_repository->blankFromClone(
234 $info_resolver,
235 $resource,
236 $existing_revision
237 );
238
239 $this->populateRevisionInfo($cloned_revision, $info_resolver);
240
241 $resource->addRevision($cloned_revision);
242 $resource->setStorageID(
243 $resource->getStorageID() === '' ? $this->primary_storage_handler->getID() : $resource->getStorageID()
244 );
245 return $resource;
246 }
247 return $resource;
248 }

References ILIAS\ResourceStorage\Resource\StorableResource\addRevision(), ILIAS\ResourceStorage\Resource\StorableResource\getMaxRevision(), ILIAS\ResourceStorage\Resource\StorableResource\getStorageID(), and ILIAS\ResourceStorage\Resource\StorableResource\setStorageID().

+ Here is the call graph for this function:

◆ appendFromStream()

ILIAS\ResourceStorage\Resource\ResourceBuilder::appendFromStream ( StorableResource  $resource,
FileStream  $stream,
InfoResolver  $info_resolver,
bool  $keep_original = false 
)

Definition at line 184 of file ResourceBuilder.php.

190 $revision = $this->revision_repository->blankFromStream($info_resolver, $resource, $stream, $keep_original);
191 $revision = $this->populateRevisionInfo($revision, $info_resolver);
192
193 $resource->addRevision($revision);
194 $resource->setStorageID(
195 $resource->getStorageID() === '' ? $this->primary_storage_handler->getID() : $resource->getStorageID()
196 );
197
198 return $resource;
199 }

◆ clone()

ILIAS\ResourceStorage\Resource\ResourceBuilder::clone ( StorableResource  $resource)

@description Clone anexisting resource with all it's revisions, stakeholders and information

Definition at line 296 of file ResourceBuilder.php.

297 {
298 $new_resource = $this->newBlank();
299 foreach ($resource->getStakeholders() as $stakeholder) {
300 $stakeholder = clone $stakeholder;
301 $new_resource->addStakeholder($stakeholder);
302 }
303
304 foreach ($resource->getAllRevisions() as $existing_revision) {
305 if (!$existing_revision instanceof FileRevision) {
306 continue;
307 }
308 $info_resolver = new ClonedRevisionInfoResolver(
309 $existing_revision->getVersionNumber(),
310 $existing_revision
311 );
312
313
314 $existing_revision = $this->stream_access->populateRevision($existing_revision);
315
316 $cloned_revision = new FileStreamRevision(
317 $new_resource->getIdentification(),
318 $existing_revision->maybeGetToken()->resolveStream(),
319 true
320 );
321
322 $this->populateRevisionInfo($cloned_revision, $info_resolver);
323 $cloned_revision->setVersionNumber($existing_revision->getVersionNumber());
324
325 $new_resource->addRevision($cloned_revision);
326 }
327 $this->store($new_resource);
328 return $new_resource;
329 }
store(StorableResource $resource)
@description after you have modified a resource, you can store it here
clone(StorableResource $resource)
@description Clone anexisting resource with all it's revisions, stakeholders and information

References ILIAS\ResourceStorage\Resource\StorableResource\getAllRevisions(), and ILIAS\ResourceStorage\Resource\StorableResource\getStakeholders().

+ Here is the call graph for this function:

◆ deleteRevision()

ILIAS\ResourceStorage\Resource\ResourceBuilder::deleteRevision ( StorableResource  $resource,
Revision  $revision 
)
private

Definition at line 432 of file ResourceBuilder.php.

432 : void
433 {
434 try {
435 $this->storage_handler_factory->getHandlerForResource($resource)->deleteRevision($revision);
436 } catch (\Throwable $exception) {
437 }
438
439 $this->information_repository->delete($revision->getInformation(), $revision);
440 $this->revision_repository->delete($revision);
441 $resource->removeRevision($revision);
442 }

References ILIAS\ResourceStorage\Revision\Revision\getInformation(), and ILIAS\ResourceStorage\Resource\StorableResource\removeRevision().

+ Here is the call graph for this function:

◆ extractStream()

ILIAS\ResourceStorage\Resource\ResourceBuilder::extractStream ( Revision  $revision)

Definition at line 370 of file ResourceBuilder.php.

370 : FileStream
371 {
372 switch (true) {
373 case $revision instanceof UploadedFileRevision:
374 return Streams::ofResource(fopen($revision->getUpload()->getPath(), 'rb'));
375 case $revision instanceof CloneRevision:
376 return $revision->getRevisionToClone()->getStream();
377 case $revision instanceof FileRevision:
378 if ($revision->getStorageID() !== '') {
379 return $this->storage_handler_factory->getHandlerForRevision(
380 $revision
381 )->getStream($revision);
382 } else {
383 return $this->storage_handler_factory->getHandlerForResource(
384 $this->get($revision->getIdentification())
385 )->getStream($revision);
386 }
387 // no break
388 default:
389 throw new \LogicException('This revision type is not supported');
390 }
391 }
static ofResource($resource)
Wraps an already created resource with the stream abstraction.
Definition: Streams.php:65

References ILIAS\ResourceStorage\Revision\Revision\getIdentification(), and ILIAS\ResourceStorage\Revision\Revision\getStorageID().

+ Here is the call graph for this function:

◆ get()

ILIAS\ResourceStorage\Resource\ResourceBuilder::get ( ResourceIdentification  $identification)
Exceptions
ResourceNotFoundException@description Get a Resource out of a Identification

Definition at line 356 of file ResourceBuilder.php.

357 {
358 if (isset($this->resource_cache[$identification->serialize()])) {
359 return $this->resource_cache[$identification->serialize()];
360 }
361 $resource = $this->resource_repository->get($identification);
362
363 $this->resource_cache[$identification->serialize()] = $this->populateNakedResourceWithRevisionsAndStakeholders(
364 $resource
365 );
366
367 return $this->resource_cache[$identification->serialize()];
368 }
populateNakedResourceWithRevisionsAndStakeholders(StorableResource $resource)

◆ has()

ILIAS\ResourceStorage\Resource\ResourceBuilder::has ( ResourceIdentification  $identification)

@description check if a resource exists

Definition at line 253 of file ResourceBuilder.php.

253 : bool
254 {
255 return $this->resource_repository->has($identification);
256 }

◆ new()

ILIAS\ResourceStorage\Resource\ResourceBuilder::new ( UploadResult  $result,
InfoResolver  $info_resolver 
)

@inheritDoc

Definition at line 107 of file ResourceBuilder.php.

111 $resource = $this->resource_repository->blank(
112 $this->primary_storage_handler->getIdentificationGenerator()->getUniqueResourceIdentification()
113 );
114
115 return $this->append($resource, $result, $info_resolver);
116 }
append(StorableResource $resource, UploadResult $result, InfoResolver $info_resolver)

References ILIAS\ResourceStorage\Resource\ResourceBuilder\append().

+ Here is the call graph for this function:

◆ newBlank()

ILIAS\ResourceStorage\Resource\ResourceBuilder::newBlank ( )

Definition at line 131 of file ResourceBuilder.php.

132 {
133 $resource = $this->resource_repository->blank(
134 $this->primary_storage_handler->getIdentificationGenerator()->getUniqueResourceIdentification()
135 );
136 $resource->setStorageID($this->primary_storage_handler->getID());
137
138 return $resource;
139 }

References ILIAS\ResourceStorage\Resource\StorableResource\setStorageID().

+ Here is the call graph for this function:

◆ newFromStream()

ILIAS\ResourceStorage\Resource\ResourceBuilder::newFromStream ( FileStream  $stream,
InfoResolver  $info_resolver,
bool  $keep_original = false 
)

Definition at line 118 of file ResourceBuilder.php.

123 $resource = $this->resource_repository->blank(
124 $this->primary_storage_handler->getIdentificationGenerator()->getUniqueResourceIdentification()
125 );
126
127 return $this->appendFromStream($resource, $stream, $info_resolver, $keep_original);
128 }
appendFromStream(StorableResource $resource, FileStream $stream, InfoResolver $info_resolver, bool $keep_original=false)

◆ populateNakedResourceWithRevisionsAndStakeholders()

ILIAS\ResourceStorage\Resource\ResourceBuilder::populateNakedResourceWithRevisionsAndStakeholders ( StorableResource  $resource)
private

Definition at line 457 of file ResourceBuilder.php.

458 {
459 $revisions = $this->revision_repository->get($resource);
460 $resource->setRevisions($revisions);
461
462 foreach ($revisions->getAll() as $i => $revision) {
463 $information = $this->information_repository->get($revision);
464 $revision->setInformation($information);
465 $revision->setStorageID($resource->getStorageID());
466 // $revisions->replaceSingleRevision($this->stream_access->populateRevision($revision)); // currently we do not need populating the stream every time, we will do that in consumers only
467 }
468
469 foreach ($this->stakeholder_repository->getStakeholders($resource->getIdentification()) as $s) {
470 $resource->addStakeholder($s);
471 }
472
473 return $resource;
474 }
setRevisions(RevisionCollection $collection)
$i
Definition: metadata.php:41

References $i, ILIAS\ResourceStorage\Resource\StorableResource\addStakeholder(), ILIAS\ResourceStorage\Resource\StorableResource\getIdentification(), ILIAS\ResourceStorage\Resource\StorableResource\getStorageID(), and ILIAS\ResourceStorage\Resource\StorableResource\setRevisions().

+ Here is the call graph for this function:

◆ populateRevisionInfo()

ILIAS\ResourceStorage\Resource\ResourceBuilder::populateRevisionInfo ( Revision  $revision,
InfoResolver  $info_resolver 
)
private

Definition at line 476 of file ResourceBuilder.php.

476 : Revision
477 {
478 $info = $revision->getInformation();
479
480 $info->setTitle($this->secure($info_resolver->getFileName()));
481 $info->setMimeType($info_resolver->getMimeType());
482 $info->setSuffix($this->secure($info_resolver->getSuffix()));
483 $info->setSize($info_resolver->getSize());
484 $info->setCreationDate($info_resolver->getCreationDate());
485
486 $revision->setInformation($info);
487 $revision->setTitle($this->secure($info_resolver->getRevisionTitle()));
488 $revision->setOwnerId($info_resolver->getOwnerId());
489
490 return $revision;
491 }
setInformation(Information $information)

References ILIAS\ResourceStorage\Resource\InfoResolver\InfoResolver\getCreationDate(), ILIAS\ResourceStorage\Resource\InfoResolver\InfoResolver\getFileName(), ILIAS\ResourceStorage\Revision\Revision\getInformation(), ILIAS\ResourceStorage\Resource\InfoResolver\InfoResolver\getMimeType(), ILIAS\ResourceStorage\Resource\InfoResolver\InfoResolver\getOwnerId(), ILIAS\ResourceStorage\Resource\InfoResolver\InfoResolver\getRevisionTitle(), ILIAS\ResourceStorage\Resource\InfoResolver\InfoResolver\getSize(), ILIAS\ResourceStorage\Resource\InfoResolver\InfoResolver\getSuffix(), ILIAS\ResourceStorage\Revision\Revision\setInformation(), and ILIAS\ResourceStorage\Revision\Revision\setTitle().

+ Here is the call graph for this function:

◆ remove()

ILIAS\ResourceStorage\Resource\ResourceBuilder::remove ( StorableResource  $resource,
ResourceStakeholder  $stakeholder = null 
)

@description Reve a complete revision.

if there are other Stakeholder, only your stakeholder gets removed

Parameters
ResourceStakeholder | null$stakeholder
Returns
bool whether ResourceStakeholders handled this successful

Definition at line 398 of file ResourceBuilder.php.

398 : bool
399 {
400 $sucessful = true;
401 if ($stakeholder instanceof ResourceStakeholder) {
402 $this->stakeholder_repository->deregister($resource->getIdentification(), $stakeholder);
403 $sucessful = $stakeholder->resourceHasBeenDeleted($resource->getIdentification());
404 $resource->removeStakeholder($stakeholder);
405 if ($resource->getStakeholders() !== []) {
406 return $sucessful;
407 }
408 }
409 foreach ($resource->getStakeholders() as $s) {
410 $sucessful = $s->resourceHasBeenDeleted($resource->getIdentification()) && $sucessful;
411 }
412
413 foreach ($resource->getAllRevisions() as $revision) {
414 $this->deleteRevision($resource, $revision);
415 }
416
417 $this->storage_handler_factory->getHandlerForResource($resource)->deleteResource($resource);
418 $this->resource_repository->delete($resource);
419
420 return $sucessful;
421 }
deleteRevision(StorableResource $resource, Revision $revision)
resourceHasBeenDeleted(ResourceIdentification $identification)

References ILIAS\ResourceStorage\Resource\StorableResource\getAllRevisions(), ILIAS\ResourceStorage\Resource\StorableResource\getIdentification(), ILIAS\ResourceStorage\Resource\StorableResource\getStakeholders(), and ILIAS\ResourceStorage\Resource\StorableResource\removeStakeholder().

+ Here is the call graph for this function:

◆ removeRevision()

ILIAS\ResourceStorage\Resource\ResourceBuilder::removeRevision ( StorableResource  $resource,
int  $revision_number 
)

Definition at line 423 of file ResourceBuilder.php.

423 : void
424 {
425 $reveision_to_delete = $resource->getSpecificRevision($revision_number);
426 if ($reveision_to_delete !== null) {
427 $this->deleteRevision($resource, $reveision_to_delete);
428 }
429 $this->store($resource);
430 }

References ILIAS\ResourceStorage\Resource\StorableResource\getSpecificRevision().

+ Here is the call graph for this function:

◆ replaceWithStream()

ILIAS\ResourceStorage\Resource\ResourceBuilder::replaceWithStream ( StorableResource  $resource,
FileStream  $stream,
InfoResolver  $info_resolver,
bool  $keep_original = false 
)

Definition at line 201 of file ResourceBuilder.php.

207 $revision = $this->revision_repository->blankFromStream($info_resolver, $resource, $stream, $keep_original);
208 $revision = $this->populateRevisionInfo($revision, $info_resolver);
209
210 foreach ($resource->getAllRevisions() as $existing_revision) {
211 $this->deleteRevision($resource, $existing_revision);
212 }
213
214 $resource->addRevision($revision);
215 $resource->setStorageID(
216 $resource->getStorageID() === '' ? $this->primary_storage_handler->getID() : $resource->getStorageID()
217 );
218
219 return $resource;
220 }

◆ replaceWithUpload()

ILIAS\ResourceStorage\Resource\ResourceBuilder::replaceWithUpload ( StorableResource  $resource,
UploadResult  $result,
InfoResolver  $info_resolver 
)

@inheritDoc

Definition at line 164 of file ResourceBuilder.php.

169 $revision = $this->revision_repository->blankFromUpload($info_resolver, $resource, $result);
170 $revision = $this->populateRevisionInfo($revision, $info_resolver);
171
172 foreach ($resource->getAllRevisions() as $existing_revision) {
173 $this->deleteRevision($resource, $existing_revision);
174 }
175
176 $resource->addRevision($revision);
177 $resource->setStorageID(
178 $resource->getStorageID() === '' ? $this->primary_storage_handler->getID() : $resource->getStorageID()
179 );
180
181 return $resource;
182 }

◆ store()

ILIAS\ResourceStorage\Resource\ResourceBuilder::store ( StorableResource  $resource)

@description after you have modified a resource, you can store it here

Exceptions

ILIAS\ResourceStorage\Policy\FileNamePolicyException

Definition at line 263 of file ResourceBuilder.php.

263 : void
264 {
265 foreach ($resource->getAllRevisions() as $revision) {
266 $this->file_name_policy->check($revision->getInformation()->getSuffix());
267 }
268
269 $r = $this->lock_handler->lockTables(
270 array_merge(
271 $this->resource_repository->getNamesForLocking(),
272 $this->revision_repository->getNamesForLocking(),
273 $this->information_repository->getNamesForLocking(),
274 $this->stakeholder_repository->getNamesForLocking()
275 ),
276 function () use ($resource): void {
277 $this->resource_repository->store($resource);
278
279 foreach ($resource->getAllRevisions() as $revision) {
280 $this->storeRevision($revision);
281 }
282
283 foreach ($resource->getStakeholders() as $stakeholder) {
284 $this->stakeholder_repository->register($resource->getIdentification(), $stakeholder);
285 }
286 }
287 );
288
289 $r->runAndUnlock();
290 }
static return function(ContainerConfigurator $containerConfigurator)
Definition: basic_rector.php:9

References function, ILIAS\ResourceStorage\Resource\StorableResource\getAllRevisions(), and ILIAS\ResourceStorage\Resource\StorableResource\getStakeholders().

+ Here is the call graph for this function:

◆ storeRevision()

ILIAS\ResourceStorage\Resource\ResourceBuilder::storeRevision ( Revision  $revision)

@description Store one Revision

Exceptions

ILIAS\ResourceStorage\Policy\FileNamePolicyException

Definition at line 335 of file ResourceBuilder.php.

335 : void
336 {
337 if ($revision instanceof UploadedFileRevision) {
338 // check policies
339 $this->file_name_policy->check($revision->getInformation()->getSuffix());
340 $this->primary_storage_handler->storeUpload($revision);
341 }
342 if ($revision instanceof FileStreamRevision) {
343 $this->primary_storage_handler->storeStream($revision);
344 }
345 if ($revision instanceof CloneRevision) {
346 $this->primary_storage_handler->cloneRevision($revision);
347 }
348 $this->revision_repository->store($revision);
349 $this->information_repository->store($revision->getInformation(), $revision);
350 }

References ILIAS\ResourceStorage\Revision\Revision\getInformation().

+ Here is the call graph for this function:

Field Documentation

◆ $file_name_policy

ILIAS ResourceStorage Policy FileNamePolicy ILIAS\ResourceStorage\Resource\ResourceBuilder::$file_name_policy
protected

◆ $information_repository

ILIAS ResourceStorage Information Repository InformationRepository ILIAS\ResourceStorage\Resource\ResourceBuilder::$information_repository
private

@readonly

Definition at line 55 of file ResourceBuilder.php.

◆ $lock_handler

LockHandler ILIAS\ResourceStorage\Resource\ResourceBuilder::$lock_handler
private

◆ $primary_storage_handler

ILIAS ResourceStorage StorageHandler StorageHandler ILIAS\ResourceStorage\Resource\ResourceBuilder::$primary_storage_handler
protected

Definition at line 74 of file ResourceBuilder.php.

◆ $resource_cache

array ILIAS\ResourceStorage\Resource\ResourceBuilder::$resource_cache = []
protected

Definition at line 72 of file ResourceBuilder.php.

◆ $resource_repository

ILIAS ResourceStorage Resource Repository ResourceRepository ILIAS\ResourceStorage\Resource\ResourceBuilder::$resource_repository
private

@readonly

Definition at line 59 of file ResourceBuilder.php.

◆ $revision_repository

ILIAS ResourceStorage Revision Repository RevisionRepository ILIAS\ResourceStorage\Resource\ResourceBuilder::$revision_repository
private

@readonly

Definition at line 63 of file ResourceBuilder.php.

◆ $stakeholder_repository

ILIAS ResourceStorage Stakeholder Repository StakeholderRepository ILIAS\ResourceStorage\Resource\ResourceBuilder::$stakeholder_repository
private

@readonly

Definition at line 67 of file ResourceBuilder.php.

◆ $storage_handler_factory

StorageHandlerFactory ILIAS\ResourceStorage\Resource\ResourceBuilder::$storage_handler_factory
private

◆ $stream_access

StreamAccess ILIAS\ResourceStorage\Resource\ResourceBuilder::$stream_access
private

The documentation for this class was generated from the following file: