This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[PATCH] java.nio - *Buffer cleanup
- From: Michael Koch <konqueror at gmx dot de>
- To: java-patches at gcc dot gnu dot org
- Date: Fri, 7 Feb 2003 11:34:12 +0100
- Subject: [PATCH] java.nio - *Buffer cleanup
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi list,
I have cleaned up the buffer classes in java.nio to match the API from
SUN. These classes are currently not compiled (in CVS). So changes
make no troubles. Please review and comment.
Michael
- --
Homepage: http://www.worldforge.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+Q4ukWSOgCCdjSDsRArGnAJ0UzIlbQ0XkQswMHJ/jEKGs8iw35gCfSZUt
PGlOg8u05wrQLRP0uUSjnRc=
=LGHY
-----END PGP SIGNATURE-----
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/libjava/ChangeLog,v
retrieving revision 1.1663
diff -u -r1.1663 ChangeLog
--- ChangeLog 4 Feb 2003 21:07:15 -0000 1.1663
+++ ChangeLog 7 Feb 2003 10:24:14 -0000
@@ -1,3 +1,71 @@
+2003-02-07 Michael Koch <konqueror@gmx.de>
+
+ * java/nio/DoubleBuffer.java
+ (DoubleBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (DoubleBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+ * java/nio/FloatBuffer.java
+ (FloatBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (FloatBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+ * java/nio/IntBuffer.java
+ (IntBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (IntBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+ * java/nio/LongBuffer.java
+ (LongBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (LongBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+ * java/nio/ShortBuffer.java
+ (ShortBuffer): Implements Comparable.
+ (endian): Removed.
+ (array_offset): New member variable.
+ (ShortBuffer): New constuctor.
+ (get): May not be final.
+ (put): May not be final.
+ (arrayOffset): Implemented.
+ (order): Made abstract.
+ (order): Removed.
+ (as*Buffer): Removed.
+ (get*): Removed.
+ (put*): Removed.
+
2003-02-04 Tom Tromey <tromey@redhat.com>
* java/io/PipedOutputStream.java (flush): Declare as throwing
Index: java/nio/DoubleBuffer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/nio/DoubleBuffer.java,v
retrieving revision 1.1
diff -u -r1.1 DoubleBuffer.java
--- java/nio/DoubleBuffer.java 18 Nov 2002 13:56:58 -0000 1.1
+++ java/nio/DoubleBuffer.java 7 Feb 2003 10:24:14 -0000
@@ -39,10 +39,10 @@
import gnu.java.nio.DoubleBufferImpl;
-public abstract class DoubleBuffer extends Buffer
+public abstract class DoubleBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected double [] backing_buffer;
+ protected int array_offset;
public static DoubleBuffer allocateDirect(int capacity)
{
@@ -77,7 +77,12 @@
return wrap(array, 0, array.length);
}
- final public DoubleBuffer get (double[] dst, int offset, int length)
+ DoubleBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ }
+
+ public DoubleBuffer get (double[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +92,12 @@
return this;
}
- final public DoubleBuffer get(double[] dst)
+ public DoubleBuffer get (double[] dst)
{
return get(dst, 0, dst.length);
}
- final public DoubleBuffer put(DoubleBuffer src)
+ public DoubleBuffer put (DoubleBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +105,7 @@
return this;
}
- final public DoubleBuffer put (double[] src, int offset, int length)
+ public DoubleBuffer put (double[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -125,7 +130,7 @@
public final int arrayOffset()
{
- return 0;
+ return array_offset;
}
public int hashCode()
@@ -172,17 +177,7 @@
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final DoubleBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order ();
public abstract double get();
public abstract DoubleBuffer put (double b);
public abstract double get(int index);
@@ -192,34 +187,4 @@
public abstract DoubleBuffer slice();
public abstract DoubleBuffer duplicate();
public abstract DoubleBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract DoubleBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract DoubleBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract DoubleBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract DoubleBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract DoubleBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract DoubleBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract DoubleBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract DoubleBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract DoubleBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract DoubleBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract DoubleBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract DoubleBuffer putDouble(int index, double value);
}
Index: java/nio/FloatBuffer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/nio/FloatBuffer.java,v
retrieving revision 1.1
diff -u -r1.1 FloatBuffer.java
--- java/nio/FloatBuffer.java 18 Nov 2002 13:56:58 -0000 1.1
+++ java/nio/FloatBuffer.java 7 Feb 2003 10:24:14 -0000
@@ -39,10 +39,10 @@
import gnu.java.nio.FloatBufferImpl;
-public abstract class FloatBuffer extends Buffer
+public abstract class FloatBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected float [] backing_buffer;
+ protected int array_offset;
public static FloatBuffer allocateDirect(int capacity)
{
@@ -77,7 +77,13 @@
return wrap(array, 0, array.length);
}
- final public FloatBuffer get(float[] dst, int offset, int length)
+ FloatBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ array_offset = 0;
+ }
+
+ public FloatBuffer get (float[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +93,12 @@
return this;
}
- final public FloatBuffer get(float[] dst)
+ public FloatBuffer get (float[] dst)
{
return get(dst, 0, dst.length);
}
- final public FloatBuffer put(FloatBuffer src)
+ public FloatBuffer put (FloatBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +106,7 @@
return this;
}
- final public FloatBuffer put(float[] src, int offset, int length)
+ public FloatBuffer put (float[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -125,7 +131,7 @@
public final int arrayOffset()
{
- return 0;
+ return array_offset;
}
public int hashCode()
@@ -139,6 +145,7 @@
{
return compareTo(obj) == 0;
}
+
return false;
}
@@ -171,17 +178,7 @@
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final FloatBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order ();
public abstract float get();
public abstract java.nio. FloatBuffer put(float b);
public abstract float get(int index);
@@ -191,34 +188,4 @@
public abstract FloatBuffer slice();
public abstract FloatBuffer duplicate();
public abstract FloatBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract FloatBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract FloatBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract FloatBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract FloatBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract FloatBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract FloatBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract FloatBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract FloatBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract FloatBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract FloatBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract FloatBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract FloatBuffer putDouble(int index, double value);
}
Index: java/nio/IntBuffer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/nio/IntBuffer.java,v
retrieving revision 1.1
diff -u -r1.1 IntBuffer.java
--- java/nio/IntBuffer.java 18 Nov 2002 13:56:58 -0000 1.1
+++ java/nio/IntBuffer.java 7 Feb 2003 10:24:14 -0000
@@ -39,10 +39,10 @@
import gnu.java.nio.IntBufferImpl;
-public abstract class IntBuffer extends Buffer
+public abstract class IntBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected int [] backing_buffer;
+ protected int array_offset;
public static IntBuffer allocateDirect(int capacity)
{
@@ -77,7 +77,13 @@
return wrap(array, 0, array.length);
}
- final public IntBuffer get(int[] dst, int offset, int length)
+ IntBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ array_offset = 0;
+ }
+
+ public IntBuffer get(int[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +93,12 @@
return this;
}
- final public IntBuffer get(int[] dst)
+ public IntBuffer get (int[] dst)
{
return get(dst, 0, dst.length);
}
- final public IntBuffer put(IntBuffer src)
+ public IntBuffer put (IntBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +106,7 @@
return this;
}
- final public IntBuffer put(int[] src, int offset, int length)
+ public IntBuffer put (int[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -125,7 +131,7 @@
public final int arrayOffset()
{
- return 0;
+ return array_offset;
}
public int hashCode()
@@ -172,17 +178,7 @@
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final IntBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order();
public abstract int get();
public abstract IntBuffer put(int b);
public abstract int get(int index);
@@ -192,34 +188,4 @@
public abstract IntBuffer slice();
public abstract IntBuffer duplicate();
public abstract IntBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract IntBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract IntBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract IntBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract IntBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract IntBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract IntBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract IntBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract IntBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract IntBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract IntBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract IntBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract IntBuffer putDouble(int index, double value);
}
Index: java/nio/LongBuffer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/nio/LongBuffer.java,v
retrieving revision 1.1
diff -u -r1.1 LongBuffer.java
--- java/nio/LongBuffer.java 18 Nov 2002 13:56:58 -0000 1.1
+++ java/nio/LongBuffer.java 7 Feb 2003 10:24:14 -0000
@@ -39,10 +39,10 @@
import gnu.java.nio.LongBufferImpl;
-public abstract class LongBuffer extends Buffer
+public abstract class LongBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected long [] backing_buffer;
+ protected int array_offset;
public static LongBuffer allocateDirect(int capacity)
{
@@ -77,7 +77,13 @@
return wrap(array, 0, array.length);
}
- final public LongBuffer get(long[] dst, int offset, int length)
+ LongBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ array_offset = 0;
+ }
+
+ public LongBuffer get (long[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +93,12 @@
return this;
}
- final public LongBuffer get(long[] dst)
+ public LongBuffer get (long[] dst)
{
return get(dst, 0, dst.length);
}
- final public LongBuffer put(LongBuffer src)
+ public LongBuffer put (LongBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +106,7 @@
return this;
}
- final public LongBuffer put(long[] src, int offset, int length)
+ public LongBuffer put (long[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -125,7 +131,7 @@
public final int arrayOffset()
{
- return 0;
+ return array_offset;
}
public int hashCode()
@@ -173,17 +179,7 @@
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final LongBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order();
public abstract long get();
public abstract java.nio. LongBuffer put(long b);
public abstract long get(int index);
@@ -193,34 +189,4 @@
public abstract LongBuffer slice();
public abstract LongBuffer duplicate();
public abstract LongBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract LongBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract LongBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract LongBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract LongBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract LongBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract LongBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract LongBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract LongBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract LongBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract LongBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract LongBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract LongBuffer putDouble(int index, double value);
}
Index: java/nio/ShortBuffer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/nio/ShortBuffer.java,v
retrieving revision 1.1
diff -u -r1.1 ShortBuffer.java
--- java/nio/ShortBuffer.java 18 Nov 2002 13:56:58 -0000 1.1
+++ java/nio/ShortBuffer.java 7 Feb 2003 10:24:14 -0000
@@ -39,10 +39,10 @@
import gnu.java.nio.ShortBufferImpl;
-public abstract class ShortBuffer extends Buffer
+public abstract class ShortBuffer extends Buffer implements Comparable
{
- private ByteOrder endian = ByteOrder.BIG_ENDIAN;
protected short [] backing_buffer;
+ protected int array_offset;
public static ShortBuffer allocateDirect(int capacity)
{
@@ -77,7 +77,13 @@
return wrap(array, 0, array.length);
}
- final public ShortBuffer get(short[] dst, int offset, int length)
+ ShortBuffer (int capacity, int limit, int position, int mark)
+ {
+ super (capacity, limit, position, mark);
+ array_offset = 0;
+ }
+
+ public ShortBuffer get (short[] dst, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
{
@@ -87,12 +93,12 @@
return this;
}
- final public ShortBuffer get(short[] dst)
+ public ShortBuffer get (short[] dst)
{
return get(dst, 0, dst.length);
}
- final public ShortBuffer put(ShortBuffer src)
+ public ShortBuffer put (ShortBuffer src)
{
while (src.hasRemaining())
put(src.get());
@@ -100,7 +106,7 @@
return this;
}
- final public ShortBuffer put(short[] src, int offset, int length)
+ public ShortBuffer put (short[] src, int offset, int length)
{
for (int i = offset; i < offset + length; i++)
put(src[i]);
@@ -125,7 +131,7 @@
public final int arrayOffset()
{
- return 0;
+ return array_offset;
}
public int hashCode()
@@ -173,17 +179,7 @@
return 0;
}
- public final ByteOrder order()
- {
- return endian;
- }
-
- public final ShortBuffer order(ByteOrder bo)
- {
- endian = bo;
- return this;
- }
-
+ public abstract ByteOrder order ();
public abstract short get();
public abstract java.nio. ShortBuffer put(short b);
public abstract short get(int index);
@@ -193,34 +189,4 @@
public abstract ShortBuffer slice();
public abstract ShortBuffer duplicate();
public abstract ShortBuffer asReadOnlyBuffer();
- public abstract ShortBuffer asShortBuffer();
- public abstract CharBuffer asCharBuffer();
- public abstract IntBuffer asIntBuffer();
- public abstract LongBuffer asLongBuffer();
- public abstract FloatBuffer asFloatBuffer();
- public abstract DoubleBuffer asDoubleBuffer();
- public abstract char getChar();
- public abstract ShortBuffer putChar(char value);
- public abstract char getChar(int index);
- public abstract ShortBuffer putChar(int index, char value);
- public abstract short getShort();
- public abstract ShortBuffer putShort(short value);
- public abstract short getShort(int index);
- public abstract ShortBuffer putShort(int index, short value);
- public abstract int getInt();
- public abstract ShortBuffer putInt(int value);
- public abstract int getInt(int index);
- public abstract ShortBuffer putInt(int index, int value);
- public abstract long getLong();
- public abstract ShortBuffer putLong(long value);
- public abstract long getLong(int index);
- public abstract ShortBuffer putLong(int index, long value);
- public abstract float getFloat();
- public abstract ShortBuffer putFloat(float value);
- public abstract float getFloat(int index);
- public abstract ShortBuffer putFloat(int index, float value);
- public abstract double getDouble();
- public abstract ShortBuffer putDouble(double value);
- public abstract double getDouble(int index);
- public abstract ShortBuffer putDouble(int index, double value);
}