com.github.cloudfiles.gdrive

Members list

Type members

Classlikes

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class GoogleDriveConfig(serverUri: String, optRootPath: Option[String], timeout: Timeout, includeTrashed: Boolean)

A configuration class for the GoogleDrive ''FileSystem'' implementation.

A configuration class for the GoogleDrive ''FileSystem'' implementation.

Using this class, certain aspects of the behavior of the GoogleDrive implementation can be configured. Configuration is optional, meaningful default values are set for all of the properties.

Value parameters

includeTrashed

flag whether files in the trash should be included in query results

optRootPath

an optional root path; if defined, all paths are resolved relatively to this root path

serverUri

the root URI of the GoogleDrive API

timeout

the timeout for server requests

Attributes

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

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class GoogleDriveFileSystem(val config: GoogleDriveConfig) extends ExtensibleFileSystem[String, GoogleDriveFile, GoogleDriveFolder, FolderContent[String, GoogleDriveFile, GoogleDriveFolder]]

The GoogleDrive-specific implementation of the com.github.cloudfiles.core.FileSystem trait.

The GoogleDrive-specific implementation of the com.github.cloudfiles.core.FileSystem trait.

This class sends HTTP requests against the GoogleDrive API to manipulate files and folders. Note that the configuration allows setting a custom URI (which should normally only be necessary for tests), but there is no property to select a drive of a specific user. This information is contained in the credentials (typically an OAuth token) managed by the request actor.

GoogleDrive has an organization, which in some ways differs from typical hierarchical file systems. A single element can have multiple parents, and there is, therefore, no concept of a unique path to a specific element. This makes the ''resolvePath()'' operation quite expensive, because it has to navigate through all the folders starting from the root folder. Even resolving the root ID is not trivial if a root path has been configured. So, the most efficient way to use this ''FileSystem'' implementation is to make use of element IDs as far as possible.

Value parameters

config

the configuration for this ''FileSystem''

Attributes

Companion
object
Supertypes
trait ExtensibleFileSystem[String, GoogleDriveFile, GoogleDriveFolder, FolderContent[String, GoogleDriveFile, GoogleDriveFolder]]
trait FileSystem[String, GoogleDriveFile, GoogleDriveFolder, FolderContent[String, GoogleDriveFile, GoogleDriveFolder]]
trait AutoCloseable
class Object
trait Matchable
class Any
Show all
object GoogleDriveJsonProtocol extends DefaultJsonProtocol

A module defining data classes that correspond to the GoogleDrive REST API as described at https://developers.google.com/drive/api/v3/reference/files.

A module defining data classes that correspond to the GoogleDrive REST API as described at https://developers.google.com/drive/api/v3/reference/files.

The GoogleDrive REST API uses JSON as data exchange format. The classes defined here are used to read and write JSON to and from Scala objects.

In addition, the module defines converters for these data classes to enable a proper JSON serialization. They are available as implicits, which must be available in the current scope to make the conversion to and from JSON possible.

Attributes

Supertypes
trait DefaultJsonProtocol
trait AdditionalFormats
trait ProductFormats
trait ProductFormatsInstances
trait CollectionFormats
trait StandardFormats
trait BasicFormats
class Object
trait Matchable
class Any
Show all
Self type

A module defining the GoogleDrive-specific implementations for the classes referenced by a file system.

A module defining the GoogleDrive-specific implementations for the classes referenced by a file system.

In GoogleDrive, files and folders are both represented by the ''File'' resource. A ''File'' object contains basic properties, some Google-specific properties (such as permissions or information about the shared state), and maps with arbitrary global or application-specific properties. GoogleDriveJsonProtocol defines data classes that correspond to these structures.

The GoogleDrive-specific file and folder implementations reference such a GoogleDriveJsonProtocol.File object storing the underlying data. Their properties obtain their values from this object. The object can also be accessed by client code to access the additional information supported by the GoogleDrive protocol.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type