18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.nio.fs;
27
28 import java.nio.file.*;
29 import java.nio.file.attribute.*;
30 import java.nio.file.spi.FileTypeDetector;
31 import java.io.IOException;
32
33 /**
34 * Linux implementation of FileSystemProvider
35 */
36
37 public class LinuxFileSystemProvider extends UnixFileSystemProvider {
38 public LinuxFileSystemProvider() {
39 super();
40 }
41
42 @Override
43 LinuxFileSystem newFileSystem(String dir) {
44 return new LinuxFileSystem(this, dir);
45 }
46
47 @Override
48 LinuxFileStore getFileStore(UnixPath path) throws IOException {
49 return new LinuxFileStore(path);
50 }
51
52 @Override
53 @SuppressWarnings("unchecked")
54 public <V extends FileAttributeView> V getFileAttributeView(Path obj,
55 Class<V> type,
56 LinkOption... options)
57 {
58 if (type == DosFileAttributeView.class) {
59 return (V) new LinuxDosFileAttributeView(UnixPath.toUnixPath(obj),
60 Util.followLinks(options));
61 }
83 }
84
85 @Override
86 @SuppressWarnings("unchecked")
87 public <A extends BasicFileAttributes> A readAttributes(Path file,
88 Class<A> type,
89 LinkOption... options)
90 throws IOException
91 {
92 if (type == DosFileAttributes.class) {
93 DosFileAttributeView view =
94 getFileAttributeView(file, DosFileAttributeView.class, options);
95 return (A) view.readAttributes();
96 } else {
97 return super.readAttributes(file, type, options);
98 }
99 }
100
101 @Override
102 FileTypeDetector getFileTypeDetector() {
103 return new GnomeFileTypeDetector();
104 }
105 }
|
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.nio.fs;
27
28 import java.nio.file.*;
29 import java.nio.file.attribute.*;
30 import java.nio.file.spi.FileTypeDetector;
31 import java.io.IOException;
32
33 /**
34 * Linux implementation of FileSystemProvider
35 */
36
37 public class LinuxFileSystemProvider extends UnixFileSystemProvider {
38 @Override
39 LinuxFileSystem newFileSystem(String dir) {
40 return new LinuxFileSystem(this, dir);
41 }
42
43 @Override
44 LinuxFileStore getFileStore(UnixPath path) throws IOException {
45 return new LinuxFileStore(path);
46 }
47
48 @Override
49 @SuppressWarnings("unchecked")
50 public <V extends FileAttributeView> V getFileAttributeView(Path obj,
51 Class<V> type,
52 LinkOption... options)
53 {
54 if (type == DosFileAttributeView.class) {
55 return (V) new LinuxDosFileAttributeView(UnixPath.toUnixPath(obj),
56 Util.followLinks(options));
57 }
79 }
80
81 @Override
82 @SuppressWarnings("unchecked")
83 public <A extends BasicFileAttributes> A readAttributes(Path file,
84 Class<A> type,
85 LinkOption... options)
86 throws IOException
87 {
88 if (type == DosFileAttributes.class) {
89 DosFileAttributeView view =
90 getFileAttributeView(file, DosFileAttributeView.class, options);
91 return (A) view.readAttributes();
92 } else {
93 return super.readAttributes(file, type, options);
94 }
95 }
96
97 @Override
98 FileTypeDetector getFileTypeDetector() {
99 final Path userMimeTypes =
100 Paths.get(System.getProperty("user.home"), ".mime.types");
101
102 final Path sysMimeTypes = Paths.get("/etc/mime.types");
103
104 return chain(new GnomeFileTypeDetector(),
105 new MimeTypesFileTypeDetector(userMimeTypes),
106 new MimeTypesFileTypeDetector(sysMimeTypes),
107 new MagicFileTypeDetector());
108 }
109 }
|