--- a/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java Thu Jan 13 22:21:58 2011 -0800
+++ b/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java Fri Jan 28 09:28:43 2011 +0000
@@ -25,6 +25,10 @@
package sun.nio.fs;
+import java.nio.file.*;
+import java.nio.file.attribute.*;
+import java.io.IOException;
+
/**
* Solaris implementation of FileSystemProvider
*/
@@ -38,4 +42,41 @@
SolarisFileSystem newFileSystem(String dir) {
return new SolarisFileSystem(this, dir);
}
+
+ @Override
+ SolarisFileStore getFileStore(UnixPath path) throws IOException {
+ return new SolarisFileStore(path);
+ }
+
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public <V extends FileAttributeView> V getFileAttributeView(Path obj,
+ Class<V> type,
+ LinkOption... options)
+ {
+ if (type == AclFileAttributeView.class) {
+ return (V) new SolarisAclFileAttributeView(UnixPath.toUnixPath(obj),
+ followLinks(options));
+ }
+ if (type == UserDefinedFileAttributeView.class) {
+ return(V) new SolarisUserDefinedFileAttributeView(UnixPath.toUnixPath(obj),
+ followLinks(options));
+ }
+ return super.getFileAttributeView(obj, type, options);
+ }
+
+ @Override
+ public DynamicFileAttributeView getFileAttributeView(Path obj,
+ String name,
+ LinkOption... options)
+ {
+ if (name.equals("acl"))
+ return new SolarisAclFileAttributeView(UnixPath.toUnixPath(obj),
+ followLinks(options));
+ if (name.equals("user"))
+ return new SolarisUserDefinedFileAttributeView(UnixPath.toUnixPath(obj),
+ followLinks(options));
+ return super.getFileAttributeView(obj, name, options);
+ }
}