class Native extends BaseFileFS

An Andromeda native filesystem stores only file content.

All folders and file/folder metadata is stored only in the database. The database is the authoritative record of what exists.

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)

no-op

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

no-op

CreateFolder(Folder $folder)

no-op

DeleteFolder(Folder $folder)

no-op

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)

no-op

RenameFolder(Folder $folder, string $name)

no-op

MoveFile(File $file, Folder $parent)

no-op

MoveFolder(Folder $folder, Folder $parent)

no-op

CopyFile(File $file, File $dest)

Copies a file

CopyFolder(Folder $folder, Folder $dest)

No description

string
GetFilePath(File $file)

The path to a file is simply its ID, broken into a prefix

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

at line 77
FSImpl RefreshFile(File $file)

no-op

Parameters

File $file

Return Value

FSImpl

at line 78
FSImpl RefreshFolder(Folder $folder, bool $doContents = true)

no-op

Parameters

Folder $folder
bool $doContents

Return Value

FSImpl

at line 79
FSImpl CreateFolder(Folder $folder)

no-op

Parameters

Folder $folder

Return Value

FSImpl

at line 80
FSImpl DeleteFolder(Folder $folder)

no-op

Parameters

Folder $folder

Return Value

FSImpl

in BaseFileFS 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

in BaseFileFS at line 19
FSImpl CreateFile(File $file)

Creates an empty file on storage

Parameters

File $file

Return Value

FSImpl

in BaseFileFS at line 49
FSImpl DeleteFile(File $file)

Deletes the given file from storage

Parameters

File $file

Return Value

FSImpl

in BaseFileFS 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

in BaseFileFS 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

in BaseFileFS 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

at line 81
FSImpl RenameFile(File $file, string $name)

no-op

Parameters

File $file
string $name

Return Value

FSImpl

at line 82
FSImpl RenameFolder(Folder $folder, string $name)

no-op

Parameters

Folder $folder
string $name

Return Value

FSImpl

at line 83
FSImpl MoveFile(File $file, Folder $parent)

no-op

Parameters

File $file

file to move

Folder $parent

new parent folder

Return Value

FSImpl

at line 84
FSImpl MoveFolder(Folder $folder, Folder $parent)

no-op

Parameters

Folder $folder

folder to move

Folder $parent

new parent folder

Return Value

FSImpl

in BaseFileFS 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

at line 87
FSImpl CopyFolder(Folder $folder, Folder $dest)

No description

Parameters

Folder $folder

folder to copy

Folder $dest

new object for destination

Return Value

FSImpl

See also

BaseFileFS::ManualCopyFolder

at line 93
protected string GetFilePath(File $file)

The path to a file is simply its ID, broken into a prefix

Parameters

File $file

Return Value

string

in BaseFileFS 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