From 3a669e89746cba20d986e1e4b6f8707076d06f4f Mon Sep 17 00:00:00 2001 From: mkoch Date: Tue, 20 Apr 2004 10:43:48 +0000 Subject: [PATCH] 2004-04-20 Michael Koch * gnu/java/nio/FileLockImpl.java (static): Removed, not needed anymore. * gnu/java/nio/channels/FileChannelImpl.java (FileChannelImpl): Made final. (mode): Made private. (READ, WRITE, APPEND): Made public. (EXCL, SYNC, DSYNC): Likewise. (static): Load native JNI library, when needed. (length): Unused, removed. (available): Made public. (implPosition): Throws IOException. (seek): Likewise. (implTruncate): Likewise. (unlock): Likewise. (lock): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80891 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 18 ++++++ libjava/gnu/java/nio/FileLockImpl.java | 12 +--- libjava/gnu/java/nio/channels/FileChannelImpl.java | 69 +++++++++++++--------- 3 files changed, 61 insertions(+), 38 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index c5ab520..9bc39aa 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,23 @@ 2004-04-20 Michael Koch + * gnu/java/nio/FileLockImpl.java + (static): Removed, not needed anymore. + * gnu/java/nio/channels/FileChannelImpl.java + (FileChannelImpl): Made final. + (mode): Made private. + (READ, WRITE, APPEND): Made public. + (EXCL, SYNC, DSYNC): Likewise. + (static): Load native JNI library, when needed. + (length): Unused, removed. + (available): Made public. + (implPosition): Throws IOException. + (seek): Likewise. + (implTruncate): Likewise. + (unlock): Likewise. + (lock): Likewise. + +2004-04-20 Michael Koch + * java/awt/AWTPermission.java, java/awt/Component.java, java/awt/ComponentOrientation.java,, diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java index 23f67b8..c61b9ca 100644 --- a/libjava/gnu/java/nio/FileLockImpl.java +++ b/libjava/gnu/java/nio/FileLockImpl.java @@ -38,9 +38,8 @@ exception statement from your version. */ package gnu.java.nio; -import java.io.FileDescriptor; import java.io.IOException; -import java.nio.channels.*; +import java.nio.channels.FileLock; import gnu.classpath.Configuration; import gnu.java.nio.channels.FileChannelImpl; @@ -50,15 +49,6 @@ import gnu.java.nio.channels.FileChannelImpl; */ public class FileLockImpl extends FileLock { - static - { - // load the shared library needed for native methods. - if (Configuration.INIT_LOAD_LIBRARY) - { - System.loadLibrary ("javanio"); - } - } - private FileChannelImpl ch; public FileLockImpl (FileChannelImpl channel, long position, diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.java b/libjava/gnu/java/nio/channels/FileChannelImpl.java index b5e5ffe..4bddf26 100644 --- a/libjava/gnu/java/nio/channels/FileChannelImpl.java +++ b/libjava/gnu/java/nio/channels/FileChannelImpl.java @@ -39,12 +39,19 @@ exception statement from your version. */ package gnu.java.nio.channels; import gnu.classpath.Configuration; -import gnu.gcj.RawData; import gnu.java.nio.FileLockImpl; -import java.io.*; + +import java.io.FileNotFoundException; +import java.io.IOException; import java.nio.ByteBuffer; import java.nio.MappedByteBuffer; -import java.nio.channels.*; +import java.nio.channels.ClosedChannelException; +import java.nio.channels.FileChannel; +import java.nio.channels.FileLock; +import java.nio.channels.NonReadableChannelException; +import java.nio.channels.NonWritableChannelException; +import java.nio.channels.ReadableByteChannel; +import java.nio.channels.WritableByteChannel; /** * This file is not user visible ! @@ -54,22 +61,33 @@ import java.nio.channels.*; * Upon a Input/Output/RandomAccessFile object. */ -public class FileChannelImpl extends FileChannel +public final class FileChannelImpl extends FileChannel { - int mode; // These are WHENCE values for seek. static final int SET = 0; static final int CUR = 1; // These are mode values for open(). - static final int READ = 1; - static final int WRITE = 2; - static final int APPEND = 4; + public static final int READ = 1; + public static final int WRITE = 2; + public static final int APPEND = 4; // EXCL is used only when making a temp file. - static final int EXCL = 8; - static final int SYNC = 16; - static final int DSYNC = 32; + public static final int EXCL = 8; + public static final int SYNC = 16; + public static final int DSYNC = 32; + + private static native void init(); + + static + { + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary("javanio"); + } + + init(); + } /** * This is the actual native file descriptor value @@ -81,8 +99,8 @@ public class FileChannelImpl extends FileChannel // efficient way to accomplish that. private int fd = -1; - int length; private long pos; + private int mode; public FileChannelImpl () { @@ -95,8 +113,12 @@ public class FileChannelImpl extends FileChannel this.mode = mode; } - private static native void init(); - static { init (); } + /* Used by init() (native code) */ + FileChannelImpl (int fd, int mode) + { + this.fd = fd; + this.mode = mode; + } public static FileChannelImpl in; public static FileChannelImpl out; @@ -104,19 +126,12 @@ public class FileChannelImpl extends FileChannel private native int open (String path, int mode) throws FileNotFoundException; - /** Attach to an already-opened file. */ - public FileChannelImpl (int desc, int mode) - { - fd = desc; - this.mode = mode; - } - - native int available () throws IOException; - private native long implPosition (); - private native void seek (long newPosition); - private native void implTruncate (long size); + public native int available () throws IOException; + private native long implPosition () throws IOException; + private native void seek (long newPosition) throws IOException; + private native void implTruncate (long size) throws IOException; - public native void unlock (long pos, long len); + public native void unlock (long pos, long len) throws IOException; public native long size () throws IOException; @@ -350,7 +365,7 @@ public class FileChannelImpl extends FileChannel * Otherwise return false. */ private native boolean lock(long position, long size, - boolean shared, boolean wait); + boolean shared, boolean wait) throws IOException; public FileLock lock (long position, long size, boolean shared) throws IOException -- 2.7.4