FileDocCategorySizeDatePackage
ReadWriteCharArrayBuffer.javaAPI DocAndroid 1.5 API3597Wed May 06 22:41:04 BST 2009java.nio

ReadWriteCharArrayBuffer

public final class ReadWriteCharArrayBuffer extends CharArrayBuffer
CharArrayBuffer, ReadWriteCharArrayBuffer and ReadOnlyCharArrayBuffer compose the implementation of array based char buffers.

ReadWriteCharArrayBuffer extends CharArrayBuffer with all the write methods.

This class is marked final for runtime performance.

Fields Summary
Constructors Summary
ReadWriteCharArrayBuffer(char[] array)

        super(array);
    
ReadWriteCharArrayBuffer(int capacity)

        super(capacity);
    
ReadWriteCharArrayBuffer(int capacity, char[] backingArray, int arrayOffset)

        super(capacity, backingArray, arrayOffset);
    
Methods Summary
public java.nio.CharBufferasReadOnlyBuffer()

        return ReadOnlyCharArrayBuffer.copy(this, mark);
    
public java.nio.CharBuffercompact()

        System.arraycopy(backingArray, position + offset, backingArray, offset,
                remaining());
        position = limit - position;
        limit = capacity;
        mark = UNSET_MARK;
        return this;
    
static java.nio.ReadWriteCharArrayBuffercopy(CharArrayBuffer other, int markOfOther)

        ReadWriteCharArrayBuffer buf = new ReadWriteCharArrayBuffer(other
                .capacity(), other.backingArray, other.offset);
        buf.limit = other.limit();
        buf.position = other.position();
        buf.mark = markOfOther;
        return buf;
    
public java.nio.CharBufferduplicate()

        return copy(this, mark);
    
public booleanisReadOnly()

        return false;
    
protected char[]protectedArray()

        return backingArray;
    
protected intprotectedArrayOffset()

        return offset;
    
protected booleanprotectedHasArray()

        return true;
    
public java.nio.CharBufferput(char c)

        if (position == limit) {
            throw new BufferOverflowException();
        }
        backingArray[offset + position++] = c;
        return this;
    
public java.nio.CharBufferput(int index, char c)

        if (index < 0 || index >= limit) {
            throw new IndexOutOfBoundsException();
        }
        backingArray[offset + index] = c;
        return this;
    
public java.nio.CharBufferput(char[] src, int off, int len)

        int length = src.length;
        if (off < 0 || len < 0 || (long)len + (long)off > length) {
            throw new IndexOutOfBoundsException();
        }
        if (len > remaining()) {
            throw new BufferOverflowException();
        }
        System.arraycopy(src, off, backingArray, offset+position, len);
        position += len;
        return this;
    
public java.nio.CharBufferslice()

        return new ReadWriteCharArrayBuffer(remaining(), backingArray, offset
                + position);