Class NativeDirectory
Implements UnifiedDirectory for a truly native (local physically available) directory. Obtained through VirtualPathNativeProvider.GetDirectory()
Inherited Members
Namespace: EPiServer.Web.Hosting
Assembly: EPiServer.dll
Version: 8.11.0Syntax
public class NativeDirectory : UnifiedDirectory, IPageDirectory, IContentDirectory
Constructors
NativeDirectory(VirtualPathUnifiedProvider, String, String, String, Boolean)
Initializes a new instance of the NativeDirectory class.
Declaration
public NativeDirectory(VirtualPathUnifiedProvider provider, string virtualPath, string localPath, string customSummaryVirtualPath, bool bypassAccessCheck)
Parameters
Type | Name | Description |
---|---|---|
VirtualPathUnifiedProvider | provider | The provider. |
System.String | virtualPath | The virtual path. |
System.String | localPath | The local path. |
System.String | customSummaryVirtualPath | The custom summary virtual path. |
System.Boolean | bypassAccessCheck | if set to |
Exceptions
Type | Condition |
---|---|
System.IO.DirectoryNotFoundException | Thrown when the path is not a native directory |
Fields
cachedParent
The parent for this directory
Declaration
protected UnifiedDirectory cachedParent
Field Value
Type | Description |
---|---|
UnifiedDirectory |
cachedParentRead
Indicates if parent has been evaluated
Declaration
protected bool cachedParentRead
Field Value
Type | Description |
---|---|
System.Boolean |
directoryInfo
The wrapped DirectoryInfo object
Declaration
protected DirectoryInfo directoryInfo
Field Value
Type | Description |
---|---|
System.IO.DirectoryInfo |
Properties
Children
Children (files and directories) for this directory Implementing classas shall NOT apply filtering in this property.
Declaration
public override IEnumerable Children { get; }
Property Value
Type | Description |
---|---|
System.Collections.IEnumerable |
Overrides
Directories
Subdirectories for this directory Implementing classas shall NOT apply filtering in this property.
Declaration
public override IEnumerable Directories { get; }
Property Value
Type | Description |
---|---|
System.Collections.IEnumerable |
Overrides
Files
Gets all files in an IEnumerable collection of VirtualDirectory derived classes.
Declaration
public override IEnumerable Files { get; }
Property Value
Type | Description |
---|---|
System.Collections.IEnumerable |
Overrides
IsFirstLevel
Base implementation looks at the virtual path for slashes to determine level in directory tree semantics. If no slashes > 1 its NOT a top level.
Declaration
public override bool IsFirstLevel { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Overrides
LocalPath
The local file path
Declaration
public string LocalPath { get; }
Property Value
Type | Description |
---|---|
System.String |
Parent
Gets the parent for this directory
Declaration
public override UnifiedDirectory Parent { get; }
Property Value
Type | Description |
---|---|
UnifiedDirectory | The parent. |
Overrides
Methods
CopyTo(String)
Copies the directory to specified path
Declaration
public override void CopyTo(string destVirtualPath)
Parameters
Type | Name | Description |
---|---|---|
System.String | destVirtualPath | The dest virtual path. |
Overrides
CreateFile(String)
Creates a file in current directory
Declaration
public override UnifiedFile CreateFile(string name)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name. |
Returns
Type | Description |
---|---|
UnifiedFile |
Overrides
CreateFile(String, Guid)
Creates a file in current directory with a specified id
Declaration
public override UnifiedFile CreateFile(string name, Guid id)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name. |
System.Guid | id | The id. |
Returns
Type | Description |
---|---|
UnifiedFile |
Overrides
CreateSubdirectory(String, IContent)
Creates the subdirectory. The access control should be matched against passed content.
Declaration
public UnifiedDirectory CreateSubdirectory(string name, IContent accessValidatingContent)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name. |
IContent | accessValidatingContent | Content of the access validating. |
Returns
Type | Description |
---|---|
UnifiedDirectory |
CreateSubdirectory(String, PageData)
Creates the subdirectory. The access control should be matched against passed page.
Declaration
public UnifiedDirectory CreateSubdirectory(string name, PageData accessValidatingPage)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the new directory |
PageData | accessValidatingPage | The page to match access against |
Returns
Type | Description |
---|---|
UnifiedDirectory | A handle to the created directory |
CreateSubdirectoryInternal(String)
Creates the actual directory.
Declaration
protected override UnifiedDirectory CreateSubdirectoryInternal(string name)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name. |
Returns
Type | Description |
---|---|
UnifiedDirectory | the created directory |
Overrides
Remarks
This method does not perform any access check and calling method (e.g. CreateSubdirectory(String, IContent))is responsible for access check
Delete()
Deletes this instance.
Declaration
public override void Delete()
Overrides
GetDirectories()
Gets all subdirectories. Internally calls property Directories.
Declaration
public override UnifiedDirectory[] GetDirectories()
Returns
Type | Description |
---|---|
UnifiedDirectory[] |
Overrides
GetFiles()
Gets all files in directory. Internally calles property Files and iterates through the result and by this creates a more typed result.
Declaration
public override UnifiedFile[] GetFiles()
Returns
Type | Description |
---|---|
UnifiedFile[] |
Overrides
InternalMoveCopy(String, Boolean)
The actual Move/Copy operation is performed here. Supports copying/moving to other virtual path providers, in which case the file is read and written as a stream
If copying/moving to the same (or anoter) native directory destination, the underlying FileInfo.CopyTo() / FileInfo.MoveTo() is used for best performance.
Declaration
protected void InternalMoveCopy(string destVirtualPath, bool isMove)
Parameters
Type | Name | Description |
---|---|---|
System.String | destVirtualPath | |
System.Boolean | isMove | True if a Move operation is to be performced, False if a Copy operation |
MoveTo(String)
Moves the directory to specified path
Declaration
public override void MoveTo(string destVirtualPath)
Parameters
Type | Name | Description |
---|---|---|
System.String | destVirtualPath | The dest virtual path. |
Overrides
QueryAccess()
Call Provider's QueryAccess
Declaration
public override AccessLevel QueryAccess()
Returns
Type | Description |
---|---|
AccessLevel |