Example #1
0
        /// <summary>
        ///		Delayed load
        /// </summary>
        public void Refresh()
        {
            Invariant();

            _dataFileBrowser  = null;
            _childDataFolders = null;
        }
Example #2
0
        /// <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();
            }
        }
Example #3
0
 /// <summary>
 ///		Free memory
 /// </summary>
 public void UnloadFiles()
 {
     _dataFileBrowser = null;
 }