abstract class BaseFileFS extends FSImpl

A basic filesystem type that stores files as files (revolutionary)

Each file call is translated into a root-relative path and passed to storage.

Properties

protected $fsmanager from  FSImpl

Methods

__construct(FSManager $fsmanager)

No description

from  FSImpl
int|null
GetChunkSize()

Returns the preferred byte alignment of the filesystem.

from  FSImpl
GetFSManager()

Returns a reference to the parent FS manager

from  FSImpl
GetStorage()

Returns the underlying storage

from  FSImpl
GetDatabase()

Returns a database reference

from  FSImpl
RefreshFile(File $file)

Synchronizes the given file's metadata with storage

from  FSImpl
RefreshFolder(Folder $folder, bool $doContents = true)

Synchronizes the given folder's metadata with storage

from  FSImpl
CreateFolder(Folder $folder)

Creates the given folder on disk

from  FSImpl
DeleteFolder(Folder $folder)

Deletes the given folder from disk

from  FSImpl
ImportFile(File $file, InputPath $infile)

Creates a new file and imports its content

CreateFile(File $file)

Creates an empty file on storage

DeleteFile(File $file)

Deletes the given file from storage

string
ReadBytes(File $file, int $start, int $length)

Reads the exact number of desired bytes from the given file

WriteBytes(File $file, int $start, string $data)

Writes to the given file, possibly appending it

Truncate(File $file, int $length)

Truncates (changes size of) a file

RenameFile(File $file, string $name)

Renames a file to the given name

from  FSImpl
RenameFolder(Folder $folder, string $name)

Renames a folder to the given name

from  FSImpl
MoveFile(File $file, Folder $parent)

Moves a file

from  FSImpl
MoveFolder(Folder $folder, Folder $parent)

Moves a folder

from  FSImpl
CopyFile(File $file, File $dest)

Copies a file

CopyFolder(Folder $folder, Folder $dest)

Copies a folder

from  FSImpl
string
GetFilePath(File $file)

No description

ManualCopyFolder(Folder $folder, Folder $dest)

Helper function to emulate copying a folder by copying its contents manually

Details

in FSImpl at line 26
__construct(FSManager $fsmanager)

No description

Parameters

FSManager $fsmanager

in FSImpl at line 37
int|null GetChunkSize()

Returns the preferred byte alignment of the filesystem.

Reads and writes should align to these boundaries for performance

Return Value

int|null

FS chunk size

in FSImpl at line 40
protected FSManager GetFSManager()

Returns a reference to the parent FS manager

Return Value

FSManager

in FSImpl at line 43
protected Storage GetStorage()

Returns the underlying storage

Return Value

Storage

in FSImpl at line 46
protected ObjectDatabase GetDatabase()

Returns a database reference

Return Value

ObjectDatabase

in FSImpl at line 49
abstract FSImpl RefreshFile(File $file)

Synchronizes the given file's metadata with storage

Parameters

File $file

Return Value

FSImpl

in FSImpl at line 52
abstract FSImpl RefreshFolder(Folder $folder, bool $doContents = true)

Synchronizes the given folder's metadata with storage

Parameters

Folder $folder
bool $doContents

Return Value

FSImpl

in FSImpl at line 55
abstract FSImpl CreateFolder(Folder $folder)

Creates the given folder on disk

Parameters

Folder $folder

Return Value

FSImpl

in FSImpl at line 58
abstract FSImpl DeleteFolder(Folder $folder)

Deletes the given folder from disk

Parameters

Folder $folder

Return Value

FSImpl

at line 24
FSImpl ImportFile(File $file, InputPath $infile)

Creates a new file and imports its content

Parameters

File $file

the database object

InputPath $infile

the file to import

Return Value

FSImpl

at line 19
FSImpl CreateFile(File $file)

Creates an empty file on storage

Parameters

File $file

Return Value

FSImpl

at line 49
FSImpl DeleteFile(File $file)

Deletes the given file from storage

Parameters

File $file

Return Value

FSImpl

at line 29
string ReadBytes(File $file, int $start, int $length)

Reads the exact number of desired bytes from the given file

Throws an error if the read goes beyond the end of the file

Parameters

File $file

file to read

int $start

byte offset

int $length

number of bytes

Return Value

string

file data

at line 34
FSImpl WriteBytes(File $file, int $start, string $data)

Writes to the given file, possibly appending it

Parameters

File $file

file to write

int $start

byte offset

string $data

data to write

Return Value

FSImpl

at line 39
FSImpl Truncate(File $file, int $length)

Truncates (changes size of) a file

Parameters

File $file

file to truncate

int $length

desired size in bytes

Return Value

FSImpl

in FSImpl at line 103
abstract FSImpl RenameFile(File $file, string $name)

Renames a file to the given name

Parameters

File $file
string $name

Return Value

FSImpl

in FSImpl at line 106
abstract FSImpl RenameFolder(Folder $folder, string $name)

Renames a folder to the given name

Parameters

Folder $folder
string $name

Return Value

FSImpl

in FSImpl at line 114
abstract FSImpl MoveFile(File $file, Folder $parent)

Moves a file

Parameters

File $file

file to move

Folder $parent

new parent folder

Return Value

FSImpl

in FSImpl at line 122
abstract FSImpl MoveFolder(Folder $folder, Folder $parent)

Moves a folder

Parameters

Folder $folder

folder to move

Folder $parent

new parent folder

Return Value

FSImpl

at line 44
FSImpl CopyFile(File $file, File $dest)

Copies a file

Parameters

File $file

file to copy

File $dest

new object for destination

Return Value

FSImpl

in FSImpl at line 138
abstract FSImpl CopyFolder(Folder $folder, Folder $dest)

Copies a folder

Parameters

Folder $folder

folder to copy

Folder $dest

new object for destination

Return Value

FSImpl

at line 17
abstract protected string GetFilePath(File $file)

No description

Parameters

File $file

Return Value

string

at line 60
protected BaseFileFS ManualCopyFolder(Folder $folder, Folder $dest)

Helper function to emulate copying a folder by copying its contents manually

Parameters

Folder $folder

folder to copy

Folder $dest

new folder object to copy to

Return Value

BaseFileFS