ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
StorageHandler.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
35
42{
46 public function getID(): string;
47
48 public function isPrimary(): bool;
49
51
52 public function has(ResourceIdentification $identification): bool;
53
54 // STREAMS
55
56 public function getStream(Revision $revision): FileStream;
57
58 public function storeUpload(UploadedFileRevision $revision): bool;
59
60 public function storeStream(FileStreamRevision $revision): bool;
61
62
63 // FLAVOURS
64
65 public function hasFlavour(Revision $revision, Flavour $flavour): bool;
66
67 public function storeFlavour(Revision $revision, StorableFlavourDecorator $storabel_flavour): bool;
68
69 public function deleteFlavour(Revision $revision, Flavour $flavour): bool;
70
71 public function getFlavourStreams(Revision $revision, Flavour $flavour): \Generator;
72
73
74 public function getFlavourPath(Revision $revision, Flavour $flavour): string;
75
76 public function clearFlavours(Revision $revision): void;
77
78 // REVISIONS
79
80 public function cloneRevision(CloneRevision $revision): bool;
81
82 public function streamReplacement(StreamReplacementRevision $revision): bool;
83
87 public function deleteRevision(Revision $revision): void;
88
92 public function deleteResource(StorableResource $resource): void;
93
97 public function cleanUpContainer(StorableResource $resource): void;
98
102 public function getStorageLocationBasePath(): string;
103
107 public function getFullContainerPath(ResourceIdentification $identification): string;
108
112 public function getContainerPathWithoutBase(ResourceIdentification $identification): string;
113
119 public function getRevisionPath(Revision $revision): string;
120
121
125 public function movementImplementation(): string;
126
127 public function getPathGenerator(): PathGenerator;
128}
The base interface for all filesystem streams.
Definition: FileStream.php:32
streamReplacement(StreamReplacementRevision $revision)
deleteFlavour(Revision $revision, Flavour $flavour)
storeUpload(UploadedFileRevision $revision)
getFlavourPath(Revision $revision, Flavour $flavour)
deleteRevision(Revision $revision)
This only delets a revision of a Resource.
cleanUpContainer(StorableResource $resource)
This checks if there are empty directories in the filesystem which can be deleted.
getFlavourStreams(Revision $revision, Flavour $flavour)
getContainerPathWithoutBase(ResourceIdentification $identification)
This is only the path of a ResourceIdentification inside the StorageLocation base path.
hasFlavour(Revision $revision, Flavour $flavour)
deleteResource(StorableResource $resource)
This deleted the whole container of a resource.
getRevisionPath(Revision $revision)
This is the full path to a revision of a Resource, incl.
getStorageLocationBasePath()
This is the place in the filesystem where the containers (nested) get created.
storeFlavour(Revision $revision, StorableFlavourDecorator $storabel_flavour)
has(ResourceIdentification $identification)
getFullContainerPath(ResourceIdentification $identification)
This is the full path to the container of a ResourceIdentification (incl.