GuestVFS

interface GuestVFS : FileSystem, Closeable, AutoCloseable

Guest: Virtual Filesystem

Describes the API surface of a guest virtual file system (VFS) implementation. The VFS system is used to fully virtualize and isolate I/O for guest languages running within an Elide application. By default, the guest VFS implementation functions as a read-only, TAR-backed file system.

If desired, the VFS implementation can be replaced by one which accesses host I/O facilities directly (via flags, configuration, and so on).

Inheritors

Types

Link copied to clipboard
interface VFSConfigurator

Implementations of this interface are accessed via dependency injection at the time a VFS configuration is created, so that they may participate in configuration of the VFS implementation. This entrypoint is typically only for internal use.

Properties

Link copied to clipboard
abstract val compound: Boolean

Indicates whether this VFS implementation is backed by multiple layers.

Link copied to clipboard
abstract val deletable: Boolean

Indicates whether this VFS implementation allows deletion of files from the virtual file system.

Link copied to clipboard
abstract val host: Boolean

Indicates whether this VFS implementation is backed by host I/O facilities.

Link copied to clipboard

Indicates whether this VFS implementation supports symbolic links.

Link copied to clipboard
abstract val virtual: Boolean

Indicates whether this VFS implementation is virtualized.

Link copied to clipboard
abstract val writable: Boolean

Indicates whether this VFS implementation allows writes to the virtual file system.

Functions

Link copied to clipboard

Indicates whether this VFS implementation allows access to host-side I/O for regular files on-disk. Unless I/O for guest->host access is enabled, this is always false.

Link copied to clipboard

Indicates whether this VFS implementation allows access to host-side I/O for native sockets. Unless I/O for guest->host access is enabled, this is always false.

Link copied to clipboard
abstract fun checkAccess(path: Path, modes: MutableSet<out AccessMode>, vararg linkOptions: LinkOption)
Link copied to clipboard
abstract override fun close()
Link copied to clipboard
open fun copy(source: Path, target: Path, vararg options: CopyOption)
Link copied to clipboard
abstract fun createDirectory(dir: Path, vararg attrs: FileAttribute<*>)
Link copied to clipboard
open fun createLink(link: Path, existing: Path)
Link copied to clipboard
open fun createSymbolicLink(link: Path, target: Path, vararg attrs: FileAttribute<*>)
Link copied to clipboard
abstract fun delete(path: Path)
Link copied to clipboard
open fun existsAny(path: Path): Boolean

Determine whether the path provided exists in this VFS, considering lazy reads and other deferred activity; the default implementation simply delegates to Files.exists.

Link copied to clipboard
open fun getEncoding(path: Path): Charset
Link copied to clipboard
open fun getMimeType(path: Path): String
Link copied to clipboard
Link copied to clipboard
open fun getSeparator(): String
Link copied to clipboard
Link copied to clipboard
open fun isSameFile(path1: Path, path2: Path, vararg options: LinkOption): Boolean
Link copied to clipboard
open fun move(source: Path, target: Path, vararg options: CopyOption)
Link copied to clipboard
abstract fun newByteChannel(path: Path, options: MutableSet<out OpenOption>, vararg attrs: FileAttribute<*>): SeekableByteChannel
Link copied to clipboard
Link copied to clipboard
abstract fun parsePath(uri: URI): Path
abstract fun parsePath(path: String): Path
Link copied to clipboard
abstract fun readAttributes(path: Path, attributes: String, vararg options: LinkOption): MutableMap<String, Any>
Link copied to clipboard
open fun readSymbolicLink(link: Path): Path
Link copied to clipboard
open fun setAttribute(path: Path, attribute: String, value: Any, vararg options: LinkOption)
Link copied to clipboard
open fun setCurrentWorkingDirectory(currentWorkingDirectory: Path)
Link copied to clipboard
abstract fun toAbsolutePath(path: Path): Path
Link copied to clipboard
abstract fun toRealPath(path: Path, vararg linkOptions: LinkOption): Path