AbstractDelegateVFS

VFS: Backed Implementation

This class implements a virtual-file-system for guest use, backed by another "backing" file-system, to which calls are proxied from the guest. Before proxying each call, I/O security policy is checked and enforced, and logging is performed.

The provided config is expected to be fully loaded; that is, it should have a loaded filesystem tree and data-bag from which to pull file system information. The backing file system used by this class is closed when this class closes.

Parameters

VFS

Concrete virtual file system type under implementation.

config

Effective guest VFS configuration to apply.

backing

Backing file-system instance which implements the FS to use.

Inheritors

Properties

Link copied to clipboard
abstract val compound: Boolean
Link copied to clipboard
abstract val deletable: Boolean
Link copied to clipboard
abstract val host: Boolean
Link copied to clipboard
abstract val logging: Logger

Subclass API: Logging.

Link copied to clipboard
Link copied to clipboard
abstract val virtual: Boolean
Link copied to clipboard
abstract val writable: Boolean

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun checkAccess(path: Path, modes: MutableSet<out AccessMode>, vararg linkOptions: LinkOption)
Link copied to clipboard
fun checkPolicy(type: AccessType, domain: AccessDomain, path: Path, scope: AccessScope = AccessScope.UNSPECIFIED): AccessResponse
open override fun checkPolicy(request: AccessRequest): AccessResponse

Subclass API: Policy check.

Link copied to clipboard
open override fun close()
Link copied to clipboard
open override fun copy(source: Path, target: Path, vararg options: CopyOption?)
Link copied to clipboard
open override fun createDirectory(dir: Path, vararg attrs: FileAttribute<*>)
Link copied to clipboard
open override fun createLink(link: Path, existing: Path)
Link copied to clipboard
open override fun createSymbolicLink(link: Path, target: Path, vararg attrs: FileAttribute<*>?)
Link copied to clipboard
open override fun delete(path: Path)
Link copied to clipboard
open fun existsAny(path: Path): Boolean
Link copied to clipboard
open override fun getEncoding(path: Path): Charset
Link copied to clipboard
open override fun getMimeType(path: Path): String?
Link copied to clipboard
open override fun getPath(vararg segments: String): Path

Subclass API: Parse a path.

Link copied to clipboard
open override fun getPathSeparator(): String
Link copied to clipboard
open override fun getSeparator(): String
Link copied to clipboard
open override fun getTempDirectory(): Path
Link copied to clipboard
open override fun isSameFile(path1: Path, path2: Path, vararg options: LinkOption): Boolean
Link copied to clipboard
open override fun move(source: Path, target: Path, vararg options: CopyOption?)
Link copied to clipboard
open override fun newByteChannel(path: Path, options: MutableSet<out OpenOption>, vararg attrs: FileAttribute<*>): SeekableByteChannel
Link copied to clipboard
Link copied to clipboard
open override fun parsePath(uri: URI): Path
open override fun parsePath(path: String): Path
Link copied to clipboard
open override fun readAttributes(path: Path, attributes: String, vararg options: LinkOption): MutableMap<String, Any>
Link copied to clipboard
open override fun readStream(path: Path, vararg options: OpenOption): InputStream

Subclass API: Read a file.

Link copied to clipboard
open override fun readSymbolicLink(link: Path): Path
Link copied to clipboard
open override fun setAttribute(path: Path, attribute: String, value: Any, vararg options: LinkOption)
Link copied to clipboard
open override fun setCurrentWorkingDirectory(currentWorkingDirectory: Path)
Link copied to clipboard
open override fun toAbsolutePath(path: Path): Path
Link copied to clipboard
open override fun toRealPath(path: Path, vararg linkOptions: LinkOption): Path
Link copied to clipboard
open override fun writeStream(path: Path, vararg options: OpenOption): OutputStream

Subclass API: Write a file.