com.github.cloudfiles.core

Members list

Type members

Classlikes

object FileSystem

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
FileSystem.type
trait FileSystem[ID, FILE, FOLDER, FOLDER_CONTENT] extends AutoCloseable

A trait defining typical operations on files and folders that are stored on a server.

A trait defining typical operations on files and folders that are stored on a server.

This trait defines the API of a file system. This project provides different implementations supporting different server-based protocols, such as OneDrive or WebDAV.

The protocol defined by this trait is agnostic to the concrete types representing files and folders in the file systems. The single operations are asynchronous; they expect an actor reference of type HttpRequestSender to be passed in and yield a ''Future'' with the result. This is indicated by the Operation result type. Operation is a monad, so multiple operations can be composed.

This trait extends ''AutoClosable'' to support a mechanism to clean up resources in a safe way. It is, however, expected that most concrete implementations are stateless and thus do not require such a mechanism. Therefore, there is an empty default implementation of the ''close()'' method.

Type parameters

FILE

the type representing a file

FOLDER

the type representing a folder

FOLDER_CONTENT

the type representing the content of a folder

ID

the type representing the ID of a file or folder

Attributes

Companion
object
Supertypes
trait AutoCloseable
class Object
trait Matchable
class Any
Known subtypes
trait ExtensibleFileSystem[ID, FILE, FOLDER, FOLDER_CONTENT]
trait DelegateFileSystem[ID, FILE, FOLDER]
object Model

A module defining basic types to represent files and folders in a cloud storage.

A module defining basic types to represent files and folders in a cloud storage.

The data types introduced by this module define a minimum set of properties that should be common to all concrete implementations of cloud storages. They can be extended by specific implementations to add more properties that are supported by this platform.

Note that a concrete implementation of the FileSystem trait is free to use these data types or not. (The trait itself is agnostic about the concrete types in use.) However, supporting these types simplifies operations between different server types.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Model.type