FileDocCategorySizeDatePackage
DirectCharBufferRS.javaAPI DocJava SE 5 API3640Fri Aug 26 16:49:20 BST 2005java.nio

DirectCharBufferRS

public class DirectCharBufferRS extends DirectCharBufferS implements DirectBuffer

Fields Summary
Constructors Summary
DirectCharBufferRS(DirectBuffer db, int mark, int pos, int lim, int cap, int off)









	super(db, mark, pos, lim, cap, off);

    
Methods Summary
public java.nio.CharBufferasReadOnlyBuffer()









	return duplicate();

    
public java.nio.CharBuffercompact()












	throw new ReadOnlyBufferException();

    
public java.nio.CharBufferduplicate()

	return new DirectCharBufferRS(this,
					      this.markValue(),
					      this.position(),
					      this.limit(),
					      this.capacity(),
					      0);
    
public booleanisDirect()

	return true;
    
public booleanisReadOnly()

	return true;
    
public java.nio.ByteOrderorder()


	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);





    
public java.nio.CharBufferput(char x)





	throw new ReadOnlyBufferException();

    
public java.nio.CharBufferput(int i, char x)





	throw new ReadOnlyBufferException();

    
public java.nio.CharBufferput(java.nio.CharBuffer src)





































	throw new ReadOnlyBufferException();

    
public java.nio.CharBufferput(char[] src, int offset, int length)























	throw new ReadOnlyBufferException();

    
public java.nio.CharBufferslice()

	int pos = this.position();
	int lim = this.limit();
	assert (pos <= lim);
	int rem = (pos <= lim ? lim - pos : 0);
	int off = (pos << 1);
        assert (off >= 0);
	return new DirectCharBufferRS(this, -1, 0, rem, rem, off);
    
public java.lang.CharSequencesubSequence(int start, int end)

	int pos = position();
	int lim = limit();
	assert (pos <= lim);
	pos = (pos <= lim ? pos : lim);
	int len = lim - pos;

	if ((start < 0) || (end > len) || (start > end))
	    throw new IndexOutOfBoundsException();
	int sublen = end - start;
 	int off = (pos + start) << 1;
        assert (off >= 0);
	return new DirectCharBufferRS(this, -1, 0, sublen, sublen, off);
    
public java.lang.StringtoString(int start, int end)

	if ((end > limit()) || (start > end))
	    throw new IndexOutOfBoundsException();
	try {
	    int len = end - start;
	    char[] ca = new char[len];
	    CharBuffer cb = CharBuffer.wrap(ca);
	    CharBuffer db = this.duplicate();
	    db.position(start);
	    db.limit(end);
	    cb.put(db);
	    return new String(ca);
	} catch (StringIndexOutOfBoundsException x) {
	    throw new IndexOutOfBoundsException();
	}