X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.runtime%2Fscl%2FFiles.scl;h=d1bc885616e2d34c91c2e633fe2939ece0a6d4e9;hb=33b30297f751e06e9abac260d31313e2f833fedc;hp=6af9a176022139ccc8d8ae7a8dcbbb41341ba960;hpb=5cd8adcb55ed1f9b0f5655b174eb142bf3c95dab;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.runtime/scl/Files.scl b/bundles/org.simantics.scl.runtime/scl/Files.scl index 6af9a1760..d1bc88561 100644 --- a/bundles/org.simantics.scl.runtime/scl/Files.scl +++ b/bundles/org.simantics.scl.runtime/scl/Files.scl @@ -59,6 +59,25 @@ importJava "java.nio.file.LinkOption" where importJava "java.nio.file.attribute.FileAttribute" where data FileAttribute +importJava "java.nio.file.FileSystem" where + data FileSystem + + @JavaName close + closeFileSystem :: FileSystem -> () + + @JavaName getPath + getPathFromFileSystem :: FileSystem -> String -> Vector String -> Path + +importJava "java.lang.ClassLoader" where + @private + data ClassLoader + +importJava "java.nio.file.FileSystems" where + @private + newFileSystem :: Path -> Maybe ClassLoader -> FileSystem + +newFileSystemFromPath path = newFileSystem path Nothing + importJava "java.nio.file.Files" where @JavaName newInputStream newInputStreamWithOpenOptions :: Path -> Vector OpenOption -> InputStream @@ -76,7 +95,7 @@ importJava "java.nio.file.Files" where createDirectoriesWithFileAttributes :: Path -> Vector FileAttribute -> Path @JavaName createTempFile - createTempFileWithFileAttributes :: Path -> String -> String -> Vector FileAttribute -> Path + createTempFileWithFileAttributes :: String -> String -> Vector FileAttribute -> Path delete :: Path -> () @@ -113,6 +132,7 @@ importJava "java.nio.file.Files" where copyToOutputStream :: Path -> OutputStream -> Long readAllBytes :: Path -> Vector Byte + write :: Path -> Vector Byte -> Vector OpenOption -> () @JavaName readAllLines readAllLinesWithCharset :: Path -> Charset -> [String] @@ -137,8 +157,8 @@ createDirectory path = createDirectoryWithFileAttributes path (vector []) createDirectories :: Path -> Path createDirectories path = createDirectoriesWithFileAttributes path (vector []) -createTempFile :: Path -> String -> String -> Path -createTempFile dir prefix suffix = createTempFileWithFileAttributes dir prefix suffix (vector []) +createTempFile :: String -> String -> Path +createTempFile prefix suffix = createTempFileWithFileAttributes prefix suffix (vector []) copy :: Path -> Path -> Path copy source target = copyWithCopyOptions source target (vector [])