internal void RemoveFromCache(IVirtualNode node)
 {
     if (this._contents != null)
     {
         this._contents.RemoveAll(c => c.Name == node.Name);
     }
 }
 internal void RemoveFromContents(IVirtualNode node)
 {
     if (Provider.HasMetadata(this.VirtualPath, withContents: true))
     {
         var content = MetaData.Contents.First(md => String.Equals(md.Path, node.VirtualPath, StringComparison.OrdinalIgnoreCase));
         MetaData.Contents.Remove(content);
     }
 }
Beispiel #3
0
 public static bool ShouldSkipPath(this IVirtualNode node)
 {
     foreach (var skipPath in AbstractVirtualFileBase.ScanSkipPaths)
     {
         if (node.VirtualPath.StartsWith(skipPath.TrimStart('/'), StringComparison.OrdinalIgnoreCase))
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #4
0
        /// <summary>
        /// Checks this Node for equality against another Virtual Node
        /// </summary>
        /// <param name="other">Other Virtual Node</param>
        /// <returns></returns>
        /// <remarks>
        /// Unless Virtual Equality (equality based on the Virtual RDF Provider and Virtual ID) can be determined or the Nodes are of different types then the Nodes value will have to be materialised in order to perform the equality check.
        /// </remarks>
        public bool Equals(IVirtualNode <ulong, int> other)
        {
            if (ReferenceEquals(this, other))
            {
                return(true);
            }
            if (other == null)
            {
                return(false);
            }

            return(ReferenceEquals(this._provider, other.Provider) && this._nodeId.Equals(other.VirtualID));
        }
Beispiel #5
0
        public static bool ShouldSkipPath(this IVirtualNode node)
        {
            var appHost = HostContext.AppHost;

            if (appHost != null)
            {
                foreach (var skipPath in appHost.Config.ScanSkipPaths)
                {
                    if (node.VirtualPath.StartsWith(skipPath.TrimStart('/'), StringComparison.InvariantCultureIgnoreCase))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
Beispiel #6
0
        public int CompareTo(IVirtualNode <ulong, int> other)
        {
            if (ReferenceEquals(this, other))
            {
                return(0);
            }
            if (other == null)
            {
                return(1);
            }
            bool areEqual;

            if (TryVirtualEquality(other, out areEqual) && areEqual)
            {
                return(0);
            }
            return(this.CompareTo((INode)other));
        }
Beispiel #7
0
 public static bool IsDirectory(this IVirtualNode node)
 {
     return(node is IVirtualDirectory);
 }
Beispiel #8
0
 public static bool IsFile(this IVirtualNode node)
 {
     return(node is IVirtualFile);
 }
Beispiel #9
0
 public static bool Exists(this IVirtualNode node)
 {
     return(node != null);
 }
 public static bool ShouldSkipPath(this IVirtualNode node)
 {
     return(VirtualFile.ScanSkipPaths
            .Select(skipPath => skipPath.TrimStart('/'))
            .Any(skipPath => node.VirtualPath.StartsWith(skipPath, StringComparison.OrdinalIgnoreCase)));
 }
 internal void RemoveFromContents(IVirtualNode node)
 {
     if (Provider.HasMetadata(this.VirtualPath, withContents: true))
     {
         var content = MetaData.Contents.First(md => String.Equals(md.Path, node.VirtualPath, StringComparison.OrdinalIgnoreCase));
         MetaData.Contents.Remove(content);
     }
 }
 internal void RemoveFromCache(IVirtualNode node)
 {
     if (this._contents != null)
     {
         this._contents.RemoveAll(c => c.Name == node.Name);
     }
 }