FileDocCategorySizeDatePackage
DirectCharBufferRU.javaAPI DocJava SE 5 API3640Fri Aug 26 16:48:54 BST 2005java.nio

DirectCharBufferRU

public class DirectCharBufferRU extends DirectCharBufferU implements DirectBuffer

Fields Summary
Constructors Summary
DirectCharBufferRU(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 DirectCharBufferRU(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 DirectCharBufferRU(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 DirectCharBufferRU(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();
	}