diff options
Diffstat (limited to 'examples/scala-js/javalib/src/main/scala/java/nio/HeapByteBuffer.scala')
-rw-r--r-- | examples/scala-js/javalib/src/main/scala/java/nio/HeapByteBuffer.scala | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/examples/scala-js/javalib/src/main/scala/java/nio/HeapByteBuffer.scala b/examples/scala-js/javalib/src/main/scala/java/nio/HeapByteBuffer.scala deleted file mode 100644 index ed3fd29..0000000 --- a/examples/scala-js/javalib/src/main/scala/java/nio/HeapByteBuffer.scala +++ /dev/null @@ -1,129 +0,0 @@ -package java.nio - -private[nio] final class HeapByteBuffer private ( - _capacity: Int, _array0: Array[Byte], _arrayOffset0: Int, - _initialPosition: Int, _initialLimit: Int, _readOnly: Boolean) - extends ByteBuffer(_capacity, _array0, _arrayOffset0) { - - position(_initialPosition) - limit(_initialLimit) - - def isReadOnly(): Boolean = _readOnly - - def isDirect(): Boolean = false - - def slice(): ByteBuffer = { - val cap = remaining - new HeapByteBuffer(cap, _array, _arrayOffset+position, 0, cap, isReadOnly) - } - - def duplicate(): ByteBuffer = { - val result = new HeapByteBuffer(capacity, _array, _arrayOffset, - position, limit, isReadOnly) - result._mark = this._mark - result - } - - def asReadOnlyBuffer(): ByteBuffer = { - val result = new HeapByteBuffer(capacity, _array, _arrayOffset, - position, limit, true) - result._mark = this._mark - result - } - - def get(): Byte = { - if (!hasRemaining) - throw new BufferUnderflowException - val p = position - position(p + 1) - _array(_arrayOffset + p) - } - - def put(b: Byte): ByteBuffer = { - if (isReadOnly) - throw new ReadOnlyBufferException - if (!hasRemaining) - throw new BufferOverflowException - val p = position - _array(_arrayOffset + p) = b - position(p + 1) - this - } - - def get(index: Int): Byte = { - if (index < 0 || index >= limit) - throw new IndexOutOfBoundsException - _array(_arrayOffset + index) - } - - def put(index: Int, b: Byte): ByteBuffer = { - if (isReadOnly) - throw new ReadOnlyBufferException - if (index < 0 || index >= limit) - throw new IndexOutOfBoundsException - _array(_arrayOffset + index) = b - this - } - - override def get(dst: Array[Byte], offset: Int, length: Int): ByteBuffer = { - val end = offset + length - - if (offset < 0 || length < 0 || end > dst.length) - throw new IndexOutOfBoundsException - - val startPos = position - val endPos = startPos + length - if (endPos > limit) - throw new BufferUnderflowException - - System.arraycopy(_array, startPos + _arrayOffset, dst, offset, length) - position(endPos) - - this - } - - override def put(src: Array[Byte], offset: Int, length: Int): ByteBuffer = { - val end = offset + length - if (offset < 0 || length < 0 || end > src.length) - throw new IndexOutOfBoundsException - if (isReadOnly) - throw new ReadOnlyBufferException - - val startPos = position - val endPos = startPos + length - if (endPos > limit) - throw new BufferOverflowException - - System.arraycopy(src, offset, _array, startPos + _arrayOffset, length) - position(endPos) - - this - } - - def compact(): ByteBuffer = { - if (isReadOnly) - throw new ReadOnlyBufferException - - val offset = _arrayOffset - val len = remaining - System.arraycopy(_array, offset + position, _array, offset, len) - _mark = -1 - limit(capacity) - position(len) - this - } -} - -private[nio] object HeapByteBuffer { - private[nio] def wrap(array: Array[Byte], arrayOffset: Int, capacity: Int, - initialPosition: Int, initialLength: Int, - isReadOnly: Boolean): ByteBuffer = { - if (arrayOffset < 0 || capacity < 0 || arrayOffset+capacity > array.length) - throw new IndexOutOfBoundsException - val initialLimit = initialPosition + initialLength - if (initialPosition < 0 || initialLength < 0 || initialLimit > capacity) - throw new IndexOutOfBoundsException - new HeapByteBuffer(capacity, array, arrayOffset, - initialPosition, initialLimit, isReadOnly) - } -} |