diff options
author | Michael Koch <konqueror@gmx.de> | 2002-11-29 07:50:46 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2002-11-29 07:50:46 +0000 |
commit | ac7edc01e80616a8befedf7610d13ce28fb4fe24 (patch) | |
tree | 9e238d8385de3d8973f9f9fa98de825686c56c48 /libjava/gnu/java/nio/CharBufferImpl.java | |
parent | 3f7211f19e48def37bb62c8195499d62da22e46c (diff) | |
download | gcc-ac7edc01e80616a8befedf7610d13ce28fb4fe24.zip gcc-ac7edc01e80616a8befedf7610d13ce28fb4fe24.tar.gz gcc-ac7edc01e80616a8befedf7610d13ce28fb4fe24.tar.bz2 |
2002-11-29 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ByteBufferImpl.java
(ByteBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/CharBufferImpl.java:
Reformated.
(endian): New member variable string endianess of buffer.
(CharBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
(subSequence): Implemented.
* gnu/java/nio/DoubleBufferImpl.java
(DoubleBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/FloatBufferImpl.java
Reformated.
(FloatBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/IntBufferImpl.java
Added needed imports, Reformated.
(IntBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/LongBufferImpl.java
Reformated.
(LongBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/ShortBufferImpl.java
Reformated.
(ShortBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
From-SVN: r59624
Diffstat (limited to 'libjava/gnu/java/nio/CharBufferImpl.java')
-rw-r--r-- | libjava/gnu/java/nio/CharBufferImpl.java | 231 |
1 files changed, 110 insertions, 121 deletions
diff --git a/libjava/gnu/java/nio/CharBufferImpl.java b/libjava/gnu/java/nio/CharBufferImpl.java index 5253646..399dd60 100644 --- a/libjava/gnu/java/nio/CharBufferImpl.java +++ b/libjava/gnu/java/nio/CharBufferImpl.java @@ -48,176 +48,165 @@ import java.nio.ShortBuffer; public final class CharBufferImpl extends CharBuffer { - private int array_offset; private boolean ro; + + private ByteOrder endian = ByteOrder.BIG_ENDIAN; public CharBufferImpl(int cap, int off, int lim) { this.backing_buffer = new char[cap]; this.cap = cap; - this.position(off); this.limit(lim); + this.position(off); } public CharBufferImpl(char[] array, int off, int lim) { this.backing_buffer = array; this.cap = array.length; - this.position(off); this.limit(lim); + this.position(off); } public CharBufferImpl (CharBufferImpl copy) { backing_buffer = copy.backing_buffer; ro = copy.ro; - position (copy.position ()); limit (copy.limit()); + position (copy.position ()); } void inc_pos (int a) { position (position () + a); } - -// private static native char[] nio_cast(byte[]copy); -// private static native char[] nio_cast(char[]copy); -// private static native char[] nio_cast(short[]copy); -// private static native char[] nio_cast(long[]copy); -// private static native char[] nio_cast(int[]copy); -// private static native char[] nio_cast(float[]copy); -// private static native char[] nio_cast(double[]copy); - - private static char[] nio_cast(byte[]copy) { return null; }; - private static char[] nio_cast(char[]copy) { return null; }; - private static char[] nio_cast(short[]copy) { return null; }; - private static char[] nio_cast(long[]copy) { return null; }; - private static char[] nio_cast(int[]copy) { return null; }; - private static char[] nio_cast(float[]copy) { return null; }; - private static char[] nio_cast(double[]copy) { return null; }; CharBufferImpl(byte[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; } -// private static native byte nio_get_Byte(CharBufferImpl b, int index, int limit); -// private static native void nio_put_Byte(CharBufferImpl b, int index, int limit, byte value); - private static byte nio_get_Byte(CharBufferImpl b, int index, int limit) { return 0; }; - private static void nio_put_Byte(CharBufferImpl b, int index, int limit, byte value) { }; - public java.nio. ByteBuffer asByteBuffer() { gnu.java.nio. ByteBufferImpl res = new gnu.java.nio. ByteBufferImpl(backing_buffer); res.limit((limit()*1)/2); return res; } + private static native byte nio_get_Byte(CharBufferImpl b, int index, int limit); + private static native void nio_put_Byte(CharBufferImpl b, int index, int limit, byte value); + public ByteBuffer asByteBuffer() { ByteBufferImpl res = new ByteBufferImpl(backing_buffer); res.limit((limit()*1)/2); return res; } CharBufferImpl(char[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; } -// private static native char nio_get_Char(CharBufferImpl b, int index, int limit); -// private static native void nio_put_Char(CharBufferImpl b, int index, int limit, char value); - private static char nio_get_Char(CharBufferImpl b, int index, int limit) { return ' '; }; - private static void nio_put_Char(CharBufferImpl b, int index, int limit, char value) { }; - public java.nio. CharBuffer asCharBuffer() { gnu.java.nio. CharBufferImpl res = new gnu.java.nio. CharBufferImpl(backing_buffer); res.limit((limit()*2)/2); return res; } + private static native char nio_get_Char(CharBufferImpl b, int index, int limit); + private static native void nio_put_Char(CharBufferImpl b, int index, int limit, char value); + public CharBuffer asCharBuffer() { CharBufferImpl res = new CharBufferImpl(backing_buffer); res.limit((limit()*2)/2); return res; } CharBufferImpl(short[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; } -// private static native short nio_get_Short(CharBufferImpl b, int index, int limit); -// private static native void nio_put_Short(CharBufferImpl b, int index, int limit, short value); - private static short nio_get_Short(CharBufferImpl b, int index, int limit) { return 0; }; - private static void nio_put_Short(CharBufferImpl b, int index, int limit, short value) { }; - public java.nio. ShortBuffer asShortBuffer() { gnu.java.nio. ShortBufferImpl res = new gnu.java.nio. ShortBufferImpl(backing_buffer); res.limit((limit()*2)/2); return res; } + private static native short nio_get_Short(CharBufferImpl b, int index, int limit); + private static native void nio_put_Short(CharBufferImpl b, int index, int limit, short value); + public ShortBuffer asShortBuffer() { ShortBufferImpl res = new ShortBufferImpl(backing_buffer); res.limit((limit()*2)/2); return res; } CharBufferImpl(int[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; } -// private static native int nio_get_Int(CharBufferImpl b, int index, int limit); -// private static native void nio_put_Int(CharBufferImpl b, int index, int limit, int value); - private static int nio_get_Int(CharBufferImpl b, int index, int limit) { return 0; }; - private static void nio_put_Int(CharBufferImpl b, int index, int limit, int value) { }; - public java.nio. IntBuffer asIntBuffer() { gnu.java.nio. IntBufferImpl res = new gnu.java.nio. IntBufferImpl(backing_buffer); res.limit((limit()*4)/2); return res; } + private static native int nio_get_Int(CharBufferImpl b, int index, int limit); + private static native void nio_put_Int(CharBufferImpl b, int index, int limit, int value); + public IntBuffer asIntBuffer() { IntBufferImpl res = new IntBufferImpl(backing_buffer); res.limit((limit()*4)/2); return res; } CharBufferImpl(long[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; } -// private static native long nio_get_Long(CharBufferImpl b, int index, int limit); -// private static native void nio_put_Long(CharBufferImpl b, int index, int limit, long value); - private static long nio_get_Long(CharBufferImpl b, int index, int limit) { return 0; }; - private static void nio_put_Long(CharBufferImpl b, int index, int limit, long value) { }; - public java.nio. LongBuffer asLongBuffer() { gnu.java.nio. LongBufferImpl res = new gnu.java.nio. LongBufferImpl(backing_buffer); res.limit((limit()*8)/2); return res; } + private static native long nio_get_Long(CharBufferImpl b, int index, int limit); + private static native void nio_put_Long(CharBufferImpl b, int index, int limit, long value); + public LongBuffer asLongBuffer() { LongBufferImpl res = new LongBufferImpl(backing_buffer); res.limit((limit()*8)/2); return res; } CharBufferImpl(float[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; } -// private static native float nio_get_Float(CharBufferImpl b, int index, int limit); -// private static native void nio_put_Float(CharBufferImpl b, int index, int limit, float value); - private static float nio_get_Float(CharBufferImpl b, int index, int limit) { return 0.0f; }; - private static void nio_put_Float(CharBufferImpl b, int index, int limit, float value) { }; - public java.nio. FloatBuffer asFloatBuffer() { gnu.java.nio. FloatBufferImpl res = new gnu.java.nio. FloatBufferImpl(backing_buffer); res.limit((limit()*4)/2); return res; } + private static native float nio_get_Float(CharBufferImpl b, int index, int limit); + private static native void nio_put_Float(CharBufferImpl b, int index, int limit, float value); + public FloatBuffer asFloatBuffer() { FloatBufferImpl res = new FloatBufferImpl(backing_buffer); res.limit((limit()*4)/2); return res; } CharBufferImpl(double[] copy) { this.backing_buffer = copy != null ? nio_cast(copy) : null; } -// private static native double nio_get_Double(CharBufferImpl b, int index, int limit); -// private static native void nio_put_Double(CharBufferImpl b, int index, int limit, double value); - private static double nio_get_Double(CharBufferImpl b, int index, int limit) { return 0.0d; }; - private static void nio_put_Double(CharBufferImpl b, int index, int limit, double value) { }; - public java.nio. DoubleBuffer asDoubleBuffer() { gnu.java.nio. DoubleBufferImpl res = new gnu.java.nio. DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/2); return res; } + private static native double nio_get_Double(CharBufferImpl b, int index, int limit); + private static native void nio_put_Double(CharBufferImpl b, int index, int limit, double value); + public DoubleBuffer asDoubleBuffer() { DoubleBufferImpl res = new DoubleBufferImpl(backing_buffer); res.limit((limit()*8)/2); return res; } + + private static native char[] nio_cast(byte[]copy); + private static native char[] nio_cast(char[]copy); + private static native char[] nio_cast(short[]copy); + private static native char[] nio_cast(long[]copy); + private static native char[] nio_cast(int[]copy); + private static native char[] nio_cast(float[]copy); + private static native char[] nio_cast(double[]copy); + public boolean isReadOnly() - { - return ro; - } - public CharBuffer slice() - { - CharBufferImpl A = new CharBufferImpl(this); - A.array_offset = position(); - return A; - } - public CharBuffer duplicate() - { - return new CharBufferImpl(this); - } - public CharBuffer asReadOnlyBuffer() - { - CharBufferImpl a = new CharBufferImpl(this); - a.ro = true; - return a; - } - public CharBuffer compact() - { - return this; - } - public boolean isDirect() - { - return backing_buffer != null; - } + { + return ro; + } + + public CharBuffer slice() + { + CharBufferImpl buffer = new CharBufferImpl (this); + buffer.array_offset = position (); + return buffer; + } + + public CharBuffer duplicate() + { + return new CharBufferImpl(this); + } + + public CharBuffer asReadOnlyBuffer() + { + CharBufferImpl a = new CharBufferImpl(this); + a.ro = true; + return a; + } + + public CharBuffer compact() + { + return this; + } + + public boolean isDirect() + { + return backing_buffer != null; + } + + final public CharSequence subSequence (int start, int end) + { + if (start < 0 || + end > length () || + start > end) + throw new IndexOutOfBoundsException (); + + // No support for direct buffers yet. + // assert array () != null; + return new CharBufferImpl (array (), position () + start, + position () + end); + } + final public char get() - { - char e = backing_buffer[position()]; - position(position()+1); - return e; - } + { + char e = backing_buffer[position()]; + position(position()+1); + return e; + } + final public CharBuffer put(char b) - { - backing_buffer[position()] = b; - position(position()+1); - return this; - } - final public char get(int index) - { - return backing_buffer[index]; - } - final public java.nio. CharBuffer put(int index, char b) - { - backing_buffer[index] = b; - return this; - } - - final public char getChar() { return get(); } final public java.nio. CharBuffer putChar(char value) { return put(value); } final public char getChar(int index) { return get(index); } final public java.nio. CharBuffer putChar(int index, char value) { return put(index, value); }; - final public short getShort() { short a = nio_get_Short(this, position(), limit()); inc_pos(2); return a; } final public java.nio. CharBuffer putShort(short value) { nio_put_Short(this, position(), limit(), value); inc_pos(2); return this; } final public short getShort(int index) { short a = nio_get_Short(this, index, limit()); return a; } final public java.nio. CharBuffer putShort(int index, short value) { nio_put_Short(this, index, limit(), value); return this; }; - final public int getInt() { int a = nio_get_Int(this, position(), limit()); inc_pos(4); return a; } final public java.nio. CharBuffer putInt(int value) { nio_put_Int(this, position(), limit(), value); inc_pos(4); return this; } final public int getInt(int index) { int a = nio_get_Int(this, index, limit()); return a; } final public java.nio. CharBuffer putInt(int index, int value) { nio_put_Int(this, index, limit(), value); return this; }; - final public long getLong() { long a = nio_get_Long(this, position(), limit()); inc_pos(8); return a; } final public java.nio. CharBuffer putLong(long value) { nio_put_Long(this, position(), limit(), value); inc_pos(8); return this; } final public long getLong(int index) { long a = nio_get_Long(this, index, limit()); return a; } final public java.nio. CharBuffer putLong(int index, long value) { nio_put_Long(this, index, limit(), value); return this; }; - final public float getFloat() { float a = nio_get_Float(this, position(), limit()); inc_pos(4); return a; } final public java.nio. CharBuffer putFloat(float value) { nio_put_Float(this, position(), limit(), value); inc_pos(4); return this; } final public float getFloat(int index) { float a = nio_get_Float(this, index, limit()); return a; } final public java.nio. CharBuffer putFloat(int index, float value) { nio_put_Float(this, index, limit(), value); return this; }; - final public double getDouble() { double a = nio_get_Double(this, position(), limit()); inc_pos(8); return a; } final public java.nio. CharBuffer putDouble(double value) { nio_put_Double(this, position(), limit(), value); inc_pos(8); return this; } final public double getDouble(int index) { double a = nio_get_Double(this, index, limit()); return a; } final public java.nio. CharBuffer putDouble(int index, double value) { nio_put_Double(this, index, limit(), value); return this; }; - - public String toString() - { - if (backing_buffer != null) - { - return new String(backing_buffer, position(), limit()); - } - return super.toString(); - } + { + backing_buffer[position()] = b; + position(position()+1); + return this; + } + + final public char getChar() { return get(); } final public CharBuffer putChar(char value) { return put(value); } final public char getChar(int index) { return get(index); } final public CharBuffer putChar(int index, char value) { return put(index, value); }; + final public short getShort() { short a = nio_get_Short(this, position(), limit()); inc_pos(2); return a; } final public CharBuffer putShort(short value) { nio_put_Short(this, position(), limit(), value); inc_pos(2); return this; } final public short getShort(int index) { short a = nio_get_Short(this, index, limit()); return a; } final public CharBuffer putShort(int index, short value) { nio_put_Short(this, index, limit(), value); return this; }; + final public int getInt() { int a = nio_get_Int(this, position(), limit()); inc_pos(4); return a; } final public CharBuffer putInt(int value) { nio_put_Int(this, position(), limit(), value); inc_pos(4); return this; } final public int getInt(int index) { int a = nio_get_Int(this, index, limit()); return a; } final public CharBuffer putInt(int index, int value) { nio_put_Int(this, index, limit(), value); return this; }; + final public long getLong() { long a = nio_get_Long(this, position(), limit()); inc_pos(8); return a; } final public CharBuffer putLong(long value) { nio_put_Long(this, position(), limit(), value); inc_pos(8); return this; } final public long getLong(int index) { long a = nio_get_Long(this, index, limit()); return a; } final public CharBuffer putLong(int index, long value) { nio_put_Long(this, index, limit(), value); return this; }; + final public float getFloat() { float a = nio_get_Float(this, position(), limit()); inc_pos(4); return a; } final public CharBuffer putFloat(float value) { nio_put_Float(this, position(), limit(), value); inc_pos(4); return this; } final public float getFloat(int index) { float a = nio_get_Float(this, index, limit()); return a; } final public CharBuffer putFloat(int index, float value) { nio_put_Float(this, index, limit(), value); return this; }; + final public double getDouble() { double a = nio_get_Double(this, position(), limit()); inc_pos(8); return a; } final public CharBuffer putDouble(double value) { nio_put_Double(this, position(), limit(), value); inc_pos(8); return this; } final public double getDouble(int index) { double a = nio_get_Double(this, index, limit()); return a; } final public CharBuffer putDouble(int index, double value) { nio_put_Double(this, index, limit(), value); return this; }; - public final ByteOrder order() + final public char get(int index) { - return endian; + return backing_buffer[index]; } + + final public CharBuffer put(int index, char b) + { + backing_buffer[index] = b; + return this; + } + - public CharSequence subSequence(int a, int b) + public final ByteOrder order() { - return null; + return endian; } } |