AtomicDataAccessor that uses the file system to store documents as files and containers as folders. Data will first be written to a temporary location and only if no errors occur will the data be written to the desired location.
Only binary data can be directly stored as files so will error on non-binary data.
Removes the corresponding file/folder (and metadata file).
Returns metadata for all resources in the requested container. This should not be all metadata of those resources (but it can be), but instead the main metadata you want to show in situations where all these resources are presented simultaneously. Generally this would be metadata that is present for all of these resources, such as resource type or last modified date.
It can be safely assumed that the incoming identifier will always correspond to a container.
Identifier of the parent container.
Will return data stream directly to the file corresponding to the resource. Will throw NotFoundHttpError if the input is a container.
Will return corresponding metadata by reading the metadata file (if it exists) and adding file system specific metadata elements.
Gets the Stats object corresponding to the given file path, resolving symbolic links.
NotFoundHttpError If the file/folder doesn't exist.
File path to get info from.
Verifies if there already is a file corresponding to the given resource. If yes, that file is removed if it does not match the path given in the input ResourceLink. This can happen if the content-type differs from the one that was stored.
ResourceLink corresponding to the new resource data.
Creates corresponding folder if necessary and writes metadata to metadata file if necessary.
Helper function without extra validation checking to create a data file.
The filepath of the file to be created.
The data to be put in the file.
Writes the given data as a file (and potential metadata as additional file). Data will first be written to a temporary file and if no errors occur only then the file will be moved to desired destination. If the stream errors it is made sure the temporary file will be deleted. The metadata file will only be written if the data was written successfully.