/// <summary> /// Delayed load /// </summary> public void Refresh() { Invariant(); _dataFileBrowser = null; _childDataFolders = null; }
/// <summary> /// Read the list of immediately contained data files /// from disk. /// Must not be called for non-leaf folders. /// </summary> /// <param name="reloadIfLoaded"> /// if <see langword="false"/> and files were loaded before /// the previous result is kept /// otherwise file list is read from disk /// </param> public void LoadFiles(bool reloadIfLoaded) { Util.Check.RequireLambda(this.Level == 0 , () => new InvalidOperationException("Only leaf level can contain files")); if (_log.IsDebugEnabled) { _log.DebugFormat("LoadFiles {0} commencing", this.PathInRepository); } bool browserCreated = false; if (!this.DataFilesLoaded) { _log.Debug("Creating file browser"); _dataFileBrowser = _repoFolder.Repository.ObjectFactory.GetDataFileBrowser( _repoFolder, this); browserCreated = true; } if (reloadIfLoaded || browserCreated) { _log.Debug("Refreshing file browser"); _dataFileBrowser.Refresh(); } }
/// <summary> /// Free memory /// </summary> public void UnloadFiles() { _dataFileBrowser = null; }