Beispiel #1
0
        public ISimpleFolder newFolder(string name)
        {
            var key = this.appId + "/" + name;

            folder = this.getAppDataFolder().newFolder(name);

            var simpleFolder = new SimpleFolder(folder);

            this.folders.set(key, simpleFolder);
            return(simpleFolder);
        }
Beispiel #2
0
        public ISimpleFolder getFolder(string name)
        {
            var key = this.appId + "/" + name;

            if (this.folders.get(key) != null)
            {
                object cachedFolder = this.folders.get(key);
                if (cachedFolder is Exception cachedFolderException)
                {
                    throw cachedFolderException;
                }
                else
                {
                    return(cachedFolder as ISimpleFolder);
                }
            }

            Node node = null;

            try {
                // Hardening if somebody wants to retrieve '/'
                if (name == "/")
                {
                    node = this.getAppDataFolder();
                }
                else
                {
                    var path = this.getAppDataFolderName() + "/" + this.appId + "/" + name;
                    node = this.rootFolder.get(path);
                }
            } catch (NotFoundException e) {
                this.folders.set(key, e);
                throw e;
            }

            /** @var Folder node */
            var folder = new SimpleFolder((Folder)node);

            this.folders.set(key, folder);
            return(folder);
        }