Model

com.github.cloudfiles.core.Model
object Model

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

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

Members list

Type members

Classlikes

trait Element[ID]

A trait representing an element (a file or a folder) stored on a server.

A trait representing an element (a file or a folder) stored on a server.

This is a base trait defining properties common to all elements that can be interacted with.

Type parameters

ID

the type of the ID of an element

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait File[ID]
trait Folder[ID]
trait File[ID] extends Element[ID]

A trait representing a file stored on a server.

A trait representing a file stored on a server.

The trait allows access to metadata properties of the file. The actual content of the file can be downloaded via the FileSystem API.

Type parameters

ID

the type of the ID of a file

Attributes

Supertypes
trait Element[ID]
class Object
trait Matchable
class Any
trait Folder[ID] extends Element[ID]

A trait representing a folder on a server.

A trait representing a folder on a server.

This trait allows access to metadata properties of the folder. The content of the folder can be obtained via the FileSystem API.

Type parameters

ID

the type of the ID of a folder

Attributes

Supertypes
trait Element[ID]
class Object
trait Matchable
class Any
case class FolderContent[ID, FILE, FOLDER](folderID: ID, files: Map[ID, FILE], folders: Map[ID, FOLDER])

A data class that stores the content of a specific folder.

A data class that stores the content of a specific folder.

An instances contains the (sub) folders and files contained in the represented folder. They are organized in maps, so that they can be accessed directly by their IDs.

Type parameters

FILE

the type to represent a file

FOLDER

the type to represent a folder

ID

the type to represent an ID

Value parameters

files

a map with the files contained in this folder

folderID

the ID of the represented folder

folders

a map with the sub folders of this folder

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all