BH.oM.Adapters.File.IFSInfo¶
Identifies a FileSystem Resource with basic information attached. Rehash of the .NET's base class 'FileSystemInfo' in BHoM flavour.
Interface structure¶
Implemented interfaces and base types¶
The IFSInfo is inheriting from the following base type(s) and implements the following interfaces:
- BH.oM.Base.IObject
Interfaces implementing this interface¶
The following interfaces are implementing this interface:
- BH.oM.Adapters.File.IFSContainer
Classes implementing this interface¶
The following classes are implementing this interface:
- BH.oM.Adapters.File.FSDirectory
- BH.oM.Adapters.File.FSFile
Properties¶
Defining properties¶
The following properties are defined on the interface
Name | Type | Description | Quantity |
---|---|---|---|
ParentDirectory | FSDirectory | Parent Directory of the File or Directory. | - |
Name | string | Name of the file (WITH Extension) or of the Directory. | - |
Exists | Nullable<bool> | - | - |
Attributes | FileAttributes | - | - |
CreationTimeUtc | DateTime | - | - |
ModifiedTimeUtc | DateTime | - | - |
Size | int | - | - |
Owner | string | - | - |
Derived properties¶
The following properties are defined as extension methods in one of the BHoM_Engines
Name | Type | Description | Quantity | Engine |
---|---|---|---|---|
IsAcyclic | bool | Test whether the file hierarchy is acyclic, i.e. has no loops in it. | - | File_Engine |
NestingDepth | int | Get the nesting depth of the input File or Directory, which is the total number of parent folders. | - | File_Engine |
Code and Schema¶
C# implementation¶
Assembly: File_oM.dll
The C# interface definition is available on github:
All history and changes of the class can be found by inspection the history.
JSON Schema implementation¶
The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.
JSON Schema
{
"$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/File_oM/IFSInfo.json"
}
The JSON Schema is available on github here: