@Override public Promise<Void> setIcon(FilePath filePath) { return new Promise<>((resolve, reject) -> resolve.invoke(null)); }
@Override public Promise<Void> copyTo(FilePath path) { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot copy files in HTML5 platform."))); }
@Override public Promise<List<FilePath>> listFiles() { return new Promise<>((resolve, reject) -> resolve.invoke(EMPTY_LIST)); }
@Override public Promise<Void> createFile() { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot create a file inside jar"))); }
@Override public Promise<Boolean> delete() { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot delete an in-jar resource"))); }
@Override public Promise<Void> mkdirs() { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot create directories in HTML5 platform."))); }
@Override public Promise<Boolean> isFile() { return new Promise<>((resolve, reject) -> resolve.invoke(!file.isDirectory())); }
@Override public Promise<Void> moveTo(FilePath path) { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot move an in-jar resource."))); }
@Override public Promise<Void> mkdirs() { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot create directory inside a jar"))); }
@Override public Promise<Boolean> delete() { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot delete an in-jar resource"))); }
@Override public Promise<Boolean> exists() { return new Promise<>((resolve, reject) -> resolve.invoke(file.exists())); }
@Override public Promise<Void> moveTo(FilePath path) { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot move an in-jar resource."))); }
@Override public Promise<Boolean> isDirectory() { return new Promise<>((resolve, reject) -> resolve.invoke(file.isDirectory())); }
@Override public Promise<Long> sizeInBytes() { return new Promise<>((resolve, reject) -> resolve.invoke(file.exists() ? file.length() : -1L)); }
@Override public Promise<Void> mkdirs() { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot create directory inside a jar"))); }
@Override public Promise<Void> createFile() { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot create a file inside jar"))); }
@Override public Promise<Void> createFile() { return new Promise<>((resolve, reject) -> reject.invoke(new IOException("Cannot create files in HTML5 platform."))); }
@Override public Promise<Boolean> exists() { return new Promise<>((resolve, reject) -> resolve.invoke(Files.exists(Paths.get(getPath())))); }
@Override public Promise<Boolean> isDirectory() { return new Promise<>((resolve, reject) -> resolve.invoke(Files.isDirectory(Paths.get(getPath())))); }
@Override public Promise<Boolean> isFile() { return new Promise<>((resolve, reject) -> isDirectory().then(isDirectory -> resolve.invoke(!isDirectory))); }