public IEnumerable <LibraryHierarchyNode> GetNodes(LibraryHierarchy libraryHierarchy) { var key = new LibraryHierarchyCacheKey(libraryHierarchy, this.Filter); var nodes = this.LibraryHierarchyCache.GetNodes(key, () => this.GetNodesCore(libraryHierarchy)); if (this.LibraryManager.SelectedItem != null) { this.ApplySelection(nodes); } return(nodes); }
public LibraryHierarchyNode[] GetNodes(LibraryHierarchyNode libraryHierarchyNode, string filter) { var key = new LibraryHierarchyCacheKey(null, libraryHierarchyNode, filter); return(this.LibraryHierarchyCache.GetNodes(key, () => this.GetNodesCore(libraryHierarchyNode, filter))); }
public void Evict(LibraryHierarchyCacheKey key) { Logger.Write(this, LogLevel.Debug, "Evicting cache entry: {0}", key); this.Nodes.TryRemove(key); }
public LibraryHierarchyNode[] GetNodes(LibraryHierarchyCacheKey key, Func <IEnumerable <LibraryHierarchyNode> > factory) { return(this.Nodes.GetOrAdd(key, _key => new Lazy <LibraryHierarchyNode[]>(() => factory().ToArray())).Value); }
public IEnumerable <LibraryHierarchyNode> GetNodes(LibraryHierarchyCacheKey key, Func <IEnumerable <LibraryHierarchyNode> > factory) { return(this.Nodes.GetOrAdd(key, _key => new Lazy <IList <LibraryHierarchyNode> >(() => new List <LibraryHierarchyNode>(factory()))).Value); }
public IEnumerable <LibraryHierarchyNode> GetNodes(LibraryHierarchyNode libraryHierarchyNode) { var key = new LibraryHierarchyCacheKey(libraryHierarchyNode, this.Filter); return(this.LibraryHierarchyCache.GetNodes(key, () => this.GetNodesCore(libraryHierarchyNode))); }