Am Freitag, 26. November 2004 09:19 schrieb Ewout Prangsma: > >>>Hmm, where would you put it ? Into java.nio.channels because it > >>>inherits FileChannel, or java.io because its used there ? > >> > >>Ahhh you got a point there. Well in that case i would suggest > >>java.io, to make the package protection work. > > > >The problem is that its used from other classes in gnu.java.nio > > too. File locking, mapped byte buffers, all (will) need it. > > I searched and found that FileChannelImpl is used in > gnu.java.nio.FileLockImpl, java.nio.channels.Channels & > java.io.FileDescriptor. > > So here is my suggestions. > > - Rename gnu.java.nio.FileChannelImpl to VMFileChannel (placed in > vm/reference) > - Rename gnu.java.nio.FileLockImpl to VMFileLock (placed in > vm/reference) - Add a new VMFileChannelImpl in java.io (placed in > vm/reference) that constains > > 1. a static method FileChannel open(...) the default > implementation is to return a new VMFileChannel(...), but vm's can > decide to implement it themselves. > 2. a static method FileChannel getOut(), FileChannel getIn(), > FileChannel getErr() to replace the in, out, err fields of > FileChannelImpl > > - Add a new VMChannels to java.nio.channels (placed in > vm/reference) that implements the native methods of Channels > (newInputStream, newOutputStream) > - Replace the FileChannelImpl instanceof check in Channels by a > FileChannel instanceof check. > - Replace the FileChannelImpl.in/out/err reference in > java.io.FileDescriptor with > VMFileChannelImpl.getIn()/getOut()/getErr().
Placing into vm/reference is generally good but not into the java.* packages. I think the way Jeroen pointed out is our way. Michael -- Homepage: http://www.worldforge.org/ _______________________________________________ Classpath mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/classpath

