diff -r d31b7cc371ef -r 77d9c0f1c19f jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java --- 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 getFileAttributeView(Path obj, + Class 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); + } }