2004-04-20 Michael Koch <konqueror@gmx.de>
authorMichael Koch <konqueror@gmx.de>
Tue, 20 Apr 2004 10:43:48 +0000 (10:43 +0000)
committerMichael Koch <mkoch@gcc.gnu.org>
Tue, 20 Apr 2004 10:43:48 +0000 (10:43 +0000)
* 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.

From-SVN: r80891

libjava/ChangeLog
libjava/gnu/java/nio/FileLockImpl.java
libjava/gnu/java/nio/channels/FileChannelImpl.java

index c5ab5204c8badba1dc8fc0ff8fba504c332c3a35..9bc39aa5e4be24e32448ea848f6880735fa61b37 100644 (file)
@@ -1,3 +1,21 @@
+2004-04-20  Michael Koch  <konqueror@gmx.de>
+
+       * 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  <konqueror@gmx.de>
 
        * java/awt/AWTPermission.java,
index 23f67b8ded23ea64b233630e3015660f5c76686b..c61b9caf10bceb61fac4bb8499965917dd7f98ec 100644 (file)
@@ -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,
index b5e5ffe6b67560243ac48fae2f0082a7db563da4..4bddf268daf31439add8cc1cee2a18d3e5f47f2a 100644 (file)
@@ -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