interface WritableStorageInterface implements StorageInterface (View source)

Interface of a PersistentResource Storage which provides import functionality.

Methods

string
getName()

Returns the instance name of this storage

resource|false
getStreamByResource(PersistentResource $resource)

Returns a stream handle which can be used internally to open / copy the given resource stored in this storage.

resource|false
getStreamByResourcePath(string $relativePath)

Returns a stream handle which can be used internally to open / copy the given resource stored in this storage.

StorageObject>
getObjects()

Retrieve all Objects stored in this storage.

StorageObject>
getObjectsByCollection(CollectionInterface $collection)

Retrieve all Objects stored in this storage, filtered by the given collection name

importResource(string|resource $source, string $collectionName)

Imports a resource (file) from the given URI or PHP resource stream into this storage.

importResourceFromContent(string $content, string $collectionName)

Imports a resource from the given string content into this storage.

bool
deleteResource(PersistentResource $resource)

Deletes the storage data related to the given PersistentResource object

Details

string getName()

Returns the instance name of this storage

Return Value

string

resource|false getStreamByResource(PersistentResource $resource)

Returns a stream handle which can be used internally to open / copy the given resource stored in this storage.

Parameters

PersistentResource $resource

The resource stored in this storage

Return Value

resource|false

The resource stream or false if the stream could not be obtained

resource|false getStreamByResourcePath(string $relativePath)

Returns a stream handle which can be used internally to open / copy the given resource stored in this storage.

Parameters

string $relativePath

A path relative to the storage root, for example "MyFirstDirectory/SecondDirectory/Foo.css"

Return Value

resource|false

A URI (for example the full path and filename) leading to the resource file or false if it does not exist

StorageObject> getObjects()

Retrieve all Objects stored in this storage.

Return Value

StorageObject>

StorageObject> getObjectsByCollection(CollectionInterface $collection)

Retrieve all Objects stored in this storage, filtered by the given collection name

Parameters

CollectionInterface $collection

Return Value

StorageObject>

PersistentResource importResource(string|resource $source, string $collectionName)

Imports a resource (file) from the given URI or PHP resource stream into this storage.

On a successful import this method returns a PersistentResource object representing the newly imported persistent resource.

Parameters

string|resource $source

The URI (or local path and filename) or the PHP resource stream to import the resource from

string $collectionName

Name of the collection the new PersistentResource belongs to

Return Value

PersistentResource

A resource object representing the imported resource

Exceptions

Exception

PersistentResource importResourceFromContent(string $content, string $collectionName)

Imports a resource from the given string content into this storage.

On a successful import this method returns a PersistentResource object representing the newly imported persistent resource.

The specified filename will be used when presenting the resource to a user. Its file extension is important because the resource management will derive the IANA Media Type from it.

Parameters

string $content

The actual content to import

string $collectionName

Name of the collection the new PersistentResource belongs to

Return Value

PersistentResource

A resource object representing the imported resource

Exceptions

Exception

bool deleteResource(PersistentResource $resource)

Deletes the storage data related to the given PersistentResource object

Note: Implementations of this method are triggered by a pre-remove event of the persistence layer whenever a PersistentResource object is going to be removed. Therefore this method must not remove the PersistentResource object from the PersistentResource Repository itself!

Parameters

PersistentResource $resource

The PersistentResource to delete the storage data of

Return Value

bool

true if removal was successful