]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.runtime/scl/Files.scl
Adding FileSystem and FileSystems to Files SCL-API
[simantics/platform.git] / bundles / org.simantics.scl.runtime / scl / Files.scl
index 92fb8c528e8d5c7fc81ab2479f1453ae1277ae38..d1bc885616e2d34c91c2e633fe2939ece0a6d4e9 100644 (file)
@@ -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 -> <Proc> ()
+    
+    @JavaName getPath
+    getPathFromFileSystem :: FileSystem -> String -> Vector String -> <Proc> 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 -> <Proc, Exception> InputStream 
@@ -76,7 +95,7 @@ importJava "java.nio.file.Files" where
     createDirectoriesWithFileAttributes :: Path -> Vector FileAttribute -> <Proc, Exception> Path
 
     @JavaName createTempFile
-    createTempFileWithFileAttributes :: Path -> String -> String -> Vector FileAttribute -> <Proc, Exception> Path
+    createTempFileWithFileAttributes :: String -> String -> Vector FileAttribute -> <Proc, Exception> Path
 
     delete :: Path -> <Proc, Exception> ()
 
@@ -138,8 +157,8 @@ createDirectory path = createDirectoryWithFileAttributes path (vector [])
 createDirectories :: Path -> <Proc, Exception> Path
 createDirectories path = createDirectoriesWithFileAttributes path (vector [])
 
-createTempFile :: Path -> String -> String -> <Proc, Exception> Path
-createTempFile dir prefix suffix = createTempFileWithFileAttributes dir prefix suffix (vector [])
+createTempFile :: String -> String -> <Proc, Exception> Path
+createTempFile prefix suffix = createTempFileWithFileAttributes prefix suffix (vector [])
 
 copy :: Path -> Path -> <Proc, Exception> Path
 copy source target = copyWithCopyOptions source target (vector [])