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 * Solaris implementation of FileSystemProvider
35 */
36
37 public class SolarisFileSystemProvider extends UnixFileSystemProvider {
38 public SolarisFileSystemProvider() {
39 super();
40 }
41
42 @Override
43 SolarisFileSystem newFileSystem(String dir) {
44 return new SolarisFileSystem(this, dir);
45 }
46
47 @Override
48 SolarisFileStore getFileStore(UnixPath path) throws IOException {
49 return new SolarisFileStore(path);
50 }
51
52
53 @Override
54 @SuppressWarnings("unchecked")
55 public <V extends FileAttributeView> V getFileAttributeView(Path obj,
56 Class<V> type,
57 LinkOption... options)
58 {
59 if (type == AclFileAttributeView.class) {
60 return (V) new SolarisAclFileAttributeView(UnixPath.toUnixPath(obj),
66 }
67 return super.getFileAttributeView(obj, type, options);
68 }
69
70 @Override
71 public DynamicFileAttributeView getFileAttributeView(Path obj,
72 String name,
73 LinkOption... options)
74 {
75 if (name.equals("acl"))
76 return new SolarisAclFileAttributeView(UnixPath.toUnixPath(obj),
77 Util.followLinks(options));
78 if (name.equals("user"))
79 return new SolarisUserDefinedFileAttributeView(UnixPath.toUnixPath(obj),
80 Util.followLinks(options));
81 return super.getFileAttributeView(obj, name, options);
82 }
83
84 @Override
85 FileTypeDetector getFileTypeDetector() {
86 return new GnomeFileTypeDetector();
87 }
88 }
|
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 * Solaris implementation of FileSystemProvider
35 */
36
37 public class SolarisFileSystemProvider extends UnixFileSystemProvider {
38
39 @Override
40 SolarisFileSystem newFileSystem(String dir) {
41 return new SolarisFileSystem(this, dir);
42 }
43
44 @Override
45 SolarisFileStore getFileStore(UnixPath path) throws IOException {
46 return new SolarisFileStore(path);
47 }
48
49
50 @Override
51 @SuppressWarnings("unchecked")
52 public <V extends FileAttributeView> V getFileAttributeView(Path obj,
53 Class<V> type,
54 LinkOption... options)
55 {
56 if (type == AclFileAttributeView.class) {
57 return (V) new SolarisAclFileAttributeView(UnixPath.toUnixPath(obj),
63 }
64 return super.getFileAttributeView(obj, type, options);
65 }
66
67 @Override
68 public DynamicFileAttributeView getFileAttributeView(Path obj,
69 String name,
70 LinkOption... options)
71 {
72 if (name.equals("acl"))
73 return new SolarisAclFileAttributeView(UnixPath.toUnixPath(obj),
74 Util.followLinks(options));
75 if (name.equals("user"))
76 return new SolarisUserDefinedFileAttributeView(UnixPath.toUnixPath(obj),
77 Util.followLinks(options));
78 return super.getFileAttributeView(obj, name, options);
79 }
80
81 @Override
82 FileTypeDetector getFileTypeDetector() {
83 final Path userMimeTypes =
84 Paths.get(System.getProperty("user.home"), ".mime.types");
85
86 final Path sysMimeTypes = Paths.get("/etc/mime.types");
87
88 return chain(new GnomeFileTypeDetector(),
89 new MimeTypesFileTypeDetector(userMimeTypes),
90 new MimeTypesFileTypeDetector(sysMimeTypes));
91 }
92 }
|