You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

602 lines
3.9 KiB

/*
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
// -- This file was mechanically generated: Do not edit! -- //
package java.nio;
/**
* A read-only HeapCharBuffer. This class extends the corresponding
* read/write class, overriding the mutation methods to throw a {@link
* ReadOnlyBufferException} and overriding the view-buffer methods to return an
* instance of this class rather than of the superclass.
*/
class HeapCharBufferR
extends HeapCharBuffer
{
// For speed these fields are actually declared in X-Buffer;
// these declarations are here as documentation
/*
*/
HeapCharBufferR(int cap, int lim) { // package-private
super(cap, lim);
this.isReadOnly = true;
}
HeapCharBufferR(char[] buf, int off, int len) { // package-private
super(buf, off, len);
this.isReadOnly = true;
}
protected HeapCharBufferR(char[] buf,
int mark, int pos, int lim, int cap,
int off)
{
super(buf, mark, pos, lim, cap, off);
this.isReadOnly = true;
}
public CharBuffer slice() {
return new HeapCharBufferR(hb,
-1,
0,
this.remaining(),
this.remaining(),
this.position() + offset);
}
public CharBuffer duplicate() {
return new HeapCharBufferR(hb,
this.markValue(),
this.position(),
this.limit(),
this.capacity(),
offset);
}
public CharBuffer asReadOnlyBuffer() {
return duplicate();
}
public boolean isReadOnly() {
return true;
}
public CharBuffer put(char x) {
throw new ReadOnlyBufferException();
}
public CharBuffer put(int i, char x) {
throw new ReadOnlyBufferException();
}
public CharBuffer put(char[] src, int offset, int length) {
throw new ReadOnlyBufferException();
}
public CharBuffer put(CharBuffer src) {
throw new ReadOnlyBufferException();
}
public CharBuffer compact() {
throw new ReadOnlyBufferException();
}
String toString(int start, int end) { // package-private
try {
return new String(hb, start + offset, end - start);
} catch (StringIndexOutOfBoundsException x) {
throw new IndexOutOfBoundsException();
}
}
// --- Methods to support CharSequence ---
public CharBuffer subSequence(int start, int end) {
if ((start < 0)
|| (end > length())
|| (start > end))
throw new IndexOutOfBoundsException();
int pos = position();
return new HeapCharBufferR(hb,
-1,
pos + start,
pos + end,
capacity(),
offset);
}
public ByteOrder order() {
return ByteOrder.nativeOrder();
}
}