-
Notifications
You must be signed in to change notification settings - Fork 0
/
file_systems.clj
41 lines (31 loc) · 960 Bytes
/
file_systems.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(ns pathological.file-systems
(:import
[java.nio.file FileSystem FileSystems]))
(defn ^FileSystem default-file-system []
(FileSystems/getDefault))
(def ^{:dynamic true :tag FileSystem} *file-system* (default-file-system))
(defn open?
[^FileSystem file-system]
(.isOpen file-system))
(defn read-only?
[^FileSystem file-system]
(.isReadOnly file-system))
(defn close
[^FileSystem file-system]
(.close file-system))
(defn provider
[^FileSystem file-system]
(.provider file-system))
(defn file-stores
[^FileSystem file-system]
(map (requiring-resolve 'pathological.file-stores/->file-store)
(.getFileStores file-system)))
(defn root-directories
[^FileSystem file-system]
(set (.getRootDirectories file-system)))
(defn separator
[^FileSystem file-system]
(.getSeparator file-system))
(defn supported-file-attribute-views
[^FileSystem file-system]
(set (map keyword (.supportedFileAttributeViews file-system))))