X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.runtime%2Fscl%2FFiles.scl;h=d1bc885616e2d34c91c2e633fe2939ece0a6d4e9;hp=ed413889ca4fbcbb53722139d58f741c82ca685a;hb=d9856d2391ee17f815a43dad74d9dc6318a1878c;hpb=0ad1451845e5859184330dd6718f32604c1b7825 diff --git a/bundles/org.simantics.scl.runtime/scl/Files.scl b/bundles/org.simantics.scl.runtime/scl/Files.scl index ed413889c..d1bc88561 100644 --- a/bundles/org.simantics.scl.runtime/scl/Files.scl +++ b/bundles/org.simantics.scl.runtime/scl/Files.scl @@ -4,6 +4,20 @@ import "Charset" importJava "java.nio.file.Path" where data Path + + @JavaName "getParent" + getParentPath :: Path -> Path + + @JavaName "resolve" + resolvePath :: Path -> String -> Path + + @JavaName "relativize" + relativizePath :: Path -> Path -> Path + + toAbsolutePath :: Path -> Path + + @JavaName "toString" + pathToString :: Path -> String importJava "java.nio.file.Paths" where @@ -45,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 @@ -62,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 -> () @@ -99,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] @@ -123,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 [])