summaryrefslogtreecommitdiff
path: root/examples/scala-js/javalib/src/main/scala/java/nio/HeapByteBuffer.scala
diff options
context:
space:
mode:
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.scala129
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)
- }
-}