/*
* Copyright (C) 2015 Actor LLC. <https://actor.im>
*/
package im.actor.runtime.js.fs;
import im.actor.runtime.files.FileSystemReference;
import im.actor.runtime.files.InputFile;
import im.actor.runtime.files.OutputFile;
import im.actor.runtime.promise.Promise;
public class JsFileSystemReference implements FileSystemReference {
private String key;
private JsBlob file;
public JsFileSystemReference(JsBlob file, String key) {
this.key = key;
this.file = file;
}
@Override
public String getDescriptor() {
return key;
}
@Override
public boolean isExist() {
return true;
}
@Override
public boolean isInAppMemory() {
return false;
}
@Override
public boolean isInTempDirectory() {
return false;
}
@Override
public int getSize() {
return file.getSize();
}
@Override
public Promise<OutputFile> openWrite(int size) {
return Promise.failure(new RuntimeException("Unsupported exception"));
}
@Override
public Promise<InputFile> openRead() {
return Promise.success(new JsFileInput(file));
}
}