Class FileSystemSessionItem
Represents an abstraction for items kept in a file system - i.e. directories and files.This class is NOT thread-safe
Inheritance
System.Object
FileSystemSessionItem
Implements
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: Azos.dll
Syntax
public abstract class FileSystemSessionItem : DisposableObject, IDisposable, INamed
Constructors
FileSystemSessionItem(FileSystemSession, String, String, IFileSystemHandle)
Declaration
protected FileSystemSessionItem(FileSystemSession session, string parentPath, string name, IFileSystemHandle handle)
Parameters
Fields
m_FileSystem
Declaration
protected readonly FileSystem m_FileSystem
Field Value
m_Handle
Declaration
protected readonly IFileSystemHandle m_Handle
Field Value
m_Modified
Declaration
protected bool m_Modified
Field Value
Type |
Description |
System.Boolean |
|
m_Session
Declaration
protected readonly FileSystemSession m_Session
Field Value
Properties
CreationTimestamp
Gets/sets UTC creation timestamp
Declaration
public DateTime? CreationTimestamp { get; set; }
Property Value
Type |
Description |
System.Nullable<System.DateTime> |
|
CreationUser
Gets the user who created this item
Declaration
public User CreationUser { get; }
Property Value
FileSystem
Returns filesystem - this is a shortcut to Session.FileSystem
Declaration
public FileSystem FileSystem { get; }
Property Value
Handle
Returns file system handle for this entity
Declaration
public IFileSystemHandle Handle { get; }
Property Value
IsReadOnly
Indicates whether this item can change and file system supports modifications
Declaration
public bool IsReadOnly { get; }
Property Value
Type |
Description |
System.Boolean |
|
LastAccessTimestamp
Gets/sets UTC last access timestamp
Declaration
public DateTime? LastAccessTimestamp { get; set; }
Property Value
Type |
Description |
System.Nullable<System.DateTime> |
|
LastAccessUser
Gets the last user who accessed the item
Declaration
public User LastAccessUser { get; }
Property Value
Returns item metadata stream
Declaration
public FileSystemStream MetadataStream { get; }
Property Value
ModificationTimestamp
Gets/sets UTC modification timestamp
Declaration
public DateTime? ModificationTimestamp { get; set; }
Property Value
Type |
Description |
System.Nullable<System.DateTime> |
|
ModificationUser
Gets the user who modified this item
Declaration
public User ModificationUser { get; }
Property Value
Modified
Indicates whether anything has changed since last transaction has started
Declaration
public bool Modified { get; }
Property Value
Type |
Description |
System.Boolean |
|
Name
Declaration
public string Name { get; set; }
Property Value
Type |
Description |
System.String |
|
ParentPath
Returns path to directory that contains this item
Declaration
public string ParentPath { get; }
Property Value
Type |
Description |
System.String |
|
Path
Returns an absolute path for this item
Declaration
public string Path { get; }
Property Value
Type |
Description |
System.String |
|
PermissionsStream
Returns item permissions stream
Declaration
public FileSystemStream PermissionsStream { get; }
Property Value
ReadOnly
Gets/sets readonly attribute
Declaration
public bool ReadOnly { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Session
Returns session through which this object was obtained
Declaration
public FileSystemSession Session { get; }
Property Value
Size
Returns the byte size of the item, depending on implementation this property may return approximate sizes for files and directories
(i.e in distributed systems)
Declaration
public ulong Size { get; }
Property Value
Type |
Description |
System.UInt64 |
|
Methods
CheckCanChange()
Throws when item can not change
Declaration
public void CheckCanChange()
CheckCanChangeAsync()
Declaration
public Task CheckCanChangeAsync()
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
CheckDisposed()
Declaration
protected void CheckDisposed()
Delete()
Deletes this item from file system
Declaration
DeleteAsync()
Declaration
public Task DeleteAsync()
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Destructor()
Declaration
protected override void Destructor()
Overrides
GetCreationUserAsync()
Async version of CreationUser
Declaration
public Task<User> GetCreationUserAsync()
Returns
Type |
Description |
System.Threading.Tasks.Task<User> |
|
GetLastAccessUserAsync()
Async version of LastAccessUser
Declaration
public Task<User> GetLastAccessUserAsync()
Returns
Type |
Description |
System.Threading.Tasks.Task<User> |
|
GetModificationUserAsync()
Async version of ModificationUser
Declaration
public Task<User> GetModificationUserAsync()
Returns
Type |
Description |
System.Threading.Tasks.Task<User> |
|
GetSizeAsync()
Declaration
public Task<ulong> GetSizeAsync()
Returns
Type |
Description |
System.Threading.Tasks.Task<System.UInt64> |
|
Refresh()
Refreshes the state represented by this item, i.e. this may re-read attributes from remote file system
Declaration
RefreshAsync()
Declaration
public Task RefreshAsync()
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
Rename(String)
Renames an item. Check file system capabilities to see if renaming is supported
Declaration
public void Rename(string newName)
Parameters
Type |
Name |
Description |
System.String |
newName |
|
RenameAsync(String)
Declaration
public Task RenameAsync(string newName)
Parameters
Type |
Name |
Description |
System.String |
newName |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
SetCreationTimestampAsync(DateTime)
Async version of CreationTimestamp
Declaration
public Task SetCreationTimestampAsync(DateTime timestamp)
Parameters
Type |
Name |
Description |
System.DateTime |
timestamp |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
SetLastAccessTimestampAsync(DateTime)
Async version of LastAccessTimestamp
Declaration
public Task SetLastAccessTimestampAsync(DateTime timestamp)
Parameters
Type |
Name |
Description |
System.DateTime |
timestamp |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
SetModificationTimestampAsync(DateTime)
Async version of ModificationTimestamp
Declaration
public Task SetModificationTimestampAsync(DateTime timestamp)
Parameters
Type |
Name |
Description |
System.DateTime |
timestamp |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
SetReadOnlyAsync(Boolean)
Async version of ReadOnly
Declaration
public Task SetReadOnlyAsync(bool readOnly)
Parameters
Type |
Name |
Description |
System.Boolean |
readOnly |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
ToString()
Declaration
public override string ToString()
Returns
Type |
Description |
System.String |
|
Overrides
System.Object.ToString()
Implements
System.IDisposable
Extension Methods