FileDocCategorySizeDatePackage
CharSequenceAdapter.javaAPI DocAndroid 1.5 API4324Wed May 06 22:41:04 BST 2009java.nio

CharSequenceAdapter

public final class CharSequenceAdapter extends CharBuffer
This class wraps a char sequence to be a char buffer.

Implementation notice:

  • Char sequence based buffer is always readonly.

Fields Summary
final CharSequence
sequence
Constructors Summary
CharSequenceAdapter(CharSequence chseq)

        super(chseq.length());
        sequence = chseq;
    
Methods Summary
public java.nio.CharBufferasReadOnlyBuffer()

        return duplicate();
    
public java.nio.CharBuffercompact()

        throw new ReadOnlyBufferException();
    
static java.nio.CharSequenceAdaptercopy(java.nio.CharSequenceAdapter other)

        CharSequenceAdapter buf = new CharSequenceAdapter(other.sequence);
        buf.limit = other.limit;
        buf.position = other.position;
        buf.mark = other.mark;
        return buf;
    
public java.nio.CharBufferduplicate()

        return copy(this);
    
public charget()

        if (position == limit) {
            throw new BufferUnderflowException();
        }
        return sequence.charAt(position++);
    
public charget(int index)

        if (index < 0 || index >= limit) {
            throw new IndexOutOfBoundsException();
        }
        return sequence.charAt(index);
    
public final java.nio.CharBufferget(char[] dest, int off, int len)

        int length = dest.length;
        if ((off < 0 ) || (len < 0) || (long)off + (long)len > length) {
            throw new IndexOutOfBoundsException();
        }
        if (len > remaining()) {
            throw new BufferUnderflowException();
        }
        int newPosition = position + len;
        sequence.toString().getChars(position, newPosition, dest, off);
        position = newPosition;
        return this;
    
public booleanisDirect()

        return false;
    
public booleanisReadOnly()

        return true;
    
public java.nio.ByteOrderorder()

        return ByteOrder.nativeOrder();
    
protected char[]protectedArray()

        throw new UnsupportedOperationException();
    
protected intprotectedArrayOffset()

        throw new UnsupportedOperationException();
    
protected booleanprotectedHasArray()

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

        throw new ReadOnlyBufferException();
    
public java.nio.CharBufferput(int index, char c)

        throw new ReadOnlyBufferException();
    
public final java.nio.CharBufferput(char[] src, int off, int len)

        if ((off < 0 ) || (len < 0) || (long)off + (long)len > src.length) {
            throw new IndexOutOfBoundsException();
        }
        
        if (len > remaining()) {
            throw new BufferOverflowException();
        }
        
        throw new ReadOnlyBufferException();
    
public java.nio.CharBufferput(java.lang.String src, int start, int end)

        if ((start < 0 ) || (end < 0) || (long)start + (long)end > src.length()) {
            throw new IndexOutOfBoundsException();
        }
        throw new ReadOnlyBufferException();
    
public java.nio.CharBufferslice()

        return new CharSequenceAdapter(sequence.subSequence(position, limit));
    
public java.lang.CharSequencesubSequence(int start, int end)

        if (end < start || start < 0 || end > remaining()) {
            throw new IndexOutOfBoundsException();
        }
        
        CharSequenceAdapter result = copy(this);
        result.position = position + start;
        result.limit = position + end;
        return result;