BoxStore

class BoxStore[F[_]](api: BoxAPIConnection, blocker: Blocker, rootFolderId: String, largeFileThreshold: Long)(using evidence$1: Concurrent[F], evidence$2: ContextShift[F]) extends PathStore[F, BoxPath]
Value parameters:
api

underlying configured BoxAPIConnection

blocker

cats-effect blocker.

largeFileThreshold

override for the threshold on the file size to be considered "large", default – 50MiB

rootFolderId

Root Folder Id, default – "0"

Companion:
object
class PathStore[F, BoxPath]
class Object
trait Matchable
class Any

Value members

Concrete methods

override def copy[A, B](src: Path[A], dst: Path[B]): F[Unit]

Copies bytes from srcPath to dstPath. Stores should optimize to use native copy functions to avoid data transfer.

Copies bytes from srcPath to dstPath. Stores should optimize to use native copy functions to avoid data transfer.

Value parameters:
dst

path

src

path

Returns:

F[Unit]

Definition Classes
PathStore
override def get[A](path: Path[A], chunkSize: Int): Stream[F, Byte]

Get bytes for the given Path.

Get bytes for the given Path.

Value parameters:
chunkSize

bytes to read in each chunk.

path

to get

Returns:

stream of bytes

Definition Classes
PathStore
override def getContents[A](path: Path[A], chunkSize: Int): F[String]
Definition Classes
PathStore
override def lift(g: Plain => Validated[Throwable, Plain]): Store[F, BoxPath]

Lifts this FileStore to a Store accepting URLs with authority A and exposing blobs of type B. You must provide a mapping from this Store's BlobType to B, and you may provide a function g for controlling input paths to this store.

Lifts this FileStore to a Store accepting URLs with authority A and exposing blobs of type B. You must provide a mapping from this Store's BlobType to B, and you may provide a function g for controlling input paths to this store.

Input URLs to the returned store are validated against this Store's authority before the path is extracted and passed to this store.

Definition Classes
PathStore
override def list[A](path: Path[A], recursive: Boolean): Stream[F, Path[BoxPath]]

List paths.

List paths.

Value parameters:
path

to list

recursive

when true returned list would contain files at given path and all sub-folders but no folders, otherwise – return files and folder at given path.

Returns:

stream of Paths. Implementing stores must guarantee that returned Paths have correct values for size, isDir and lastModified.

Example:

Given Path pointing at folder: folder/a folder/b folder/c folder/sub-folder/d folder/sub-folder/sub-sub-folder/e list(folder, recursive = true) -> [a, b, c, d, e] list(folder, recursive = false) -> [a, b, c, sub-folder]

Definition Classes
PathStore
def listUnderlying[A](path: Path[A], fields: Array[String], recursive: Boolean): Stream[F, Path[BoxPath]]
override def move[A, B](src: Path[A], dst: Path[B]): F[Unit]

Moves bytes from srcPath to dstPath. Stores should optimize to use native move functions to avoid data transfer.

Moves bytes from srcPath to dstPath. Stores should optimize to use native move functions to avoid data transfer.

Value parameters:
dst

path

src

path

Returns:

F[Unit]

Definition Classes
PathStore
override def put[A](path: Path[A], overwrite: Boolean, size: Option[Long]): (F, Byte) => Unit

Provides a Sink that writes bytes into the provided path.

Provides a Sink that writes bytes into the provided path.

Value parameters:
overwrite

when true putting to path with pre-existing file would overwrite the content, otherwise – fail with error.

path

to put

Returns:

sink of bytes

Definition Classes
PathStore
override def putRotate[A](computePath: F[Path[A]], limit: Long): (F, Byte) => Unit

Writes all data to a sequence of blobs/files, each limited in size to limit.

Writes all data to a sequence of blobs/files, each limited in size to limit.

The computeUrl operation is used to compute the path of the first file and every subsequent file. Typically, the next file should be determined by analyzing the current state of the filesystem -- e.g., by looking at all files in a directory and generating a unique name.

Value parameters:
computePath

operation to compute the path of the first file and all subsequent files.

limit

maximum size in bytes for each file.

Returns:

sink of bytes

Note:

Put of all files uses overwrite semantic, i.e. if path returned by computeUrl already exists content will be overwritten. If that doesn't suit your use case use computeUrl to guard against overwriting existing files.

Definition Classes
PathStore
override def remove[A](path: Path[A], recursive: Boolean): F[Unit]

Remove bytes for given path. Call should succeed even if there is nothing stored at that path.

Remove bytes for given path. Call should succeed even if there is nothing stored at that path.

Value parameters:
url

to remove

Returns:

F[Unit]

Definition Classes
PathStore
override def stat[A](path: Path[A]): F[Option[Path[BoxPath]]]
Definition Classes
PathStore
override def transferTo[B, P, A](dstStore: Store[F, B], srcPath: Path[P], dstUrl: Url[A])(implicit ev: B <:< FsObject): F[Int]
Definition Classes
PathStore

Inherited methods

def lift: Store[F, BlobType]
Inherited from:
PathStore
def put[A](contents: String, path: Path[A], overwrite: Boolean): Stream[F, Unit]
Inherited from:
PathStore