abstract class PathStore[F[_], BlobType] extends AnyRef
- Alphabetic
- By Inheritance
- PathStore
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new PathStore()
Abstract Value Members
- abstract def copy[A, B](src: Path[A], dst: Path[B]): F[Unit]
Copies bytes from srcPath to dstPath.
Copies bytes from srcPath to dstPath. Stores should optimize to use native copy functions to avoid data transfer.
- src
path
- dst
path
- returns
F[Unit]
- abstract def get[A](path: Path[A], chunkSize: Int): Stream[F, Byte]
Get bytes for the given Path.
Get bytes for the given Path.
- path
to get
- chunkSize
bytes to read in each chunk.
- returns
stream of bytes
- abstract def getContents[A](path: Path[A], chunkSize: Int = 4096): F[String]
- abstract def lift(g: (Plain) => Validated[Throwable, Plain]): Store[F, BlobType]
Lifts this FileStore to a Store accepting URLs and exposing blobs of type
BlobType
.Lifts this FileStore to a Store accepting URLs and exposing blobs of type
BlobType
. You may provide a functiong
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.
- abstract def list[A](path: Path[A], recursive: Boolean): Stream[F, Path[BlobType]]
List paths.
List paths.
- 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.
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]
Example: - abstract def move[A, B](src: Path[A], dst: Path[B]): F[Unit]
Moves bytes from srcPath to dstPath.
Moves bytes from srcPath to dstPath. Stores should optimize to use native move functions to avoid data transfer.
- src
path
- dst
path
- returns
F[Unit]
- abstract def put[A](path: Path[A], overwrite: Boolean = true, size: Option[Long] = None): Pipe[F, Byte, Unit]
Provides a Sink that writes bytes into the provided path.
Provides a Sink that writes bytes into the provided path.
- path
to put
- overwrite
when true putting to path with pre-existing file would overwrite the content, otherwise – fail with error.
- returns
sink of bytes
- abstract def putRotate[A](computePath: F[Path[A]], limit: Long): Pipe[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.- 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.
- abstract def remove[A](path: Path[A], recursive: Boolean = false): F[Unit]
Remove bytes for given path.
Remove bytes for given path. Call should succeed even if there is nothing stored at that path.
- returns
F[Unit]
- abstract def stat[A](path: Path[A]): F[Option[Path[BlobType]]]
- abstract def transferTo[B, P, A](dstStore: Store[F, B], srcPath: Path[P], dstUrl: Url[A])(implicit ev: <:<[B, FsObject]): F[Int]
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def lift: Store[F, BlobType]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def put[A](contents: String, path: Path[A], overwrite: Boolean): Stream[F, Unit]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)