Build 1.0_r1(from source)

java.nio
Class ReadOnlyLongArrayBuffer

java.lang.Object
  extended by java.nio.Buffer
      extended by java.nio.LongBuffer
          extended by java.nio.LongArrayBuffer
              extended by java.nio.ReadOnlyLongArrayBuffer
All Implemented Interfaces:
Comparable<LongBuffer>

final class ReadOnlyLongArrayBuffer
extends LongArrayBuffer

LongArrayBuffer, ReadWriteLongArrayBuffer and ReadOnlyLongArrayBuffer compose the implementation of array based long buffers.

ReadOnlyLongArrayBuffer extends LongArrayBuffer with all the write methods throwing read only exception.

This class is marked final for runtime performance.


Field Summary
 
Fields inherited from class java.nio.LongArrayBuffer
backingArray, offset
 
Fields inherited from class java.nio.Buffer
_elementSizeShift, capacity, limit, mark, position, UNSET_MARK
 
Constructor Summary
ReadOnlyLongArrayBuffer(int capacity, long[] backingArray, int arrayOffset)
           
 
Method Summary
 LongBuffer asReadOnlyBuffer()
          Returns a readonly buffer that shares content with this buffer.
 LongBuffer compact()
          Compacts this long buffer.
(package private) static ReadOnlyLongArrayBuffer copy(LongArrayBuffer other, int markOfOther)
           
 LongBuffer duplicate()
          Returns a duplicated buffer that shares content with this buffer.
 boolean isReadOnly()
          Returns whether this buffer is readonly or not.
protected  long[] protectedArray()
          Child class implements this method to realize array().
protected  int protectedArrayOffset()
          Child class implements this method to realize arrayOffset().
protected  boolean protectedHasArray()
          Child class implements this method to realize hasArray().
 LongBuffer put(int index, long c)
          Write a long to the specified index of this buffer and the position is not changed.
 LongBuffer put(long c)
          Writes the given long to the current position and increase the position by 1.
 LongBuffer put(long[] src, int off, int len)
          Writes longs in the given long array, starting from the specified offset, to the current position and increase the position by the number of longs written.
 LongBuffer put(LongBuffer buf)
          Writes all the remaining longs of the src long buffer to this buffer's current position, and increase both buffers' position by the number of longs copied.
 LongBuffer slice()
          Returns a sliced buffer that shares content with this buffer.
 
Methods inherited from class java.nio.LongArrayBuffer
get, get, get, isDirect, order
 
Methods inherited from class java.nio.LongBuffer
_array, _arrayOffset, allocate, array, arrayOffset, compareTo, equals, get, hasArray, hashCode, put, toString, wrap, wrap
 
Methods inherited from class java.nio.Buffer
capacity, clear, flip, hasRemaining, limit, limit, mark, position, position, remaining, reset, rewind
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ReadOnlyLongArrayBuffer

ReadOnlyLongArrayBuffer(int capacity,
                        long[] backingArray,
                        int arrayOffset)
Method Detail

copy

static ReadOnlyLongArrayBuffer copy(LongArrayBuffer other,
                                    int markOfOther)

asReadOnlyBuffer

public LongBuffer asReadOnlyBuffer()
Description copied from class: LongBuffer
Returns a readonly buffer that shares content with this buffer.

The returned buffer is guaranteed to be a new instance, even this buffer is readonly itself. The new buffer's position, limit, capacity and mark are the same as this buffer.

The new buffer shares content with this buffer, which means this buffer's change of content will be visible to the new buffer. The two buffer's position, limit and mark are independent.

Specified by:
asReadOnlyBuffer in class LongBuffer
Returns:
A readonly version of this buffer.

compact

public LongBuffer compact()
Description copied from class: LongBuffer
Compacts this long buffer.

The remaining longs will be moved to the head of the buffer, staring from position zero. Then the position is set to remaining(); the limit is set to capacity; the mark is cleared.

Specified by:
compact in class LongBuffer
Returns:
This buffer

duplicate

public LongBuffer duplicate()
Description copied from class: LongBuffer
Returns a duplicated buffer that shares content with this buffer.

The duplicated buffer's position, limit, capacity and mark are the same as this buffer. The duplicated buffer's readonly property and byte order are same as this buffer too.

The new buffer shares content with this buffer, which means either buffer's change of content will be visible to the other. The two buffer's position, limit and mark are independent.

Specified by:
duplicate in class LongBuffer
Returns:
A duplicated buffer that shares content with this buffer.

isReadOnly

public boolean isReadOnly()
Description copied from class: Buffer
Returns whether this buffer is readonly or not.

Specified by:
isReadOnly in class Buffer
Returns:
Whether this buffer is readonly or not.

protectedArray

protected long[] protectedArray()
Description copied from class: LongBuffer
Child class implements this method to realize array().

Specified by:
protectedArray in class LongBuffer
Returns:
see array()

protectedArrayOffset

protected int protectedArrayOffset()
Description copied from class: LongBuffer
Child class implements this method to realize arrayOffset().

Specified by:
protectedArrayOffset in class LongBuffer
Returns:
see arrayOffset()

protectedHasArray

protected boolean protectedHasArray()
Description copied from class: LongBuffer
Child class implements this method to realize hasArray().

Specified by:
protectedHasArray in class LongBuffer
Returns:
see hasArray()

put

public LongBuffer put(long c)
Description copied from class: LongBuffer
Writes the given long to the current position and increase the position by 1.

Specified by:
put in class LongBuffer
Parameters:
c - The long to write
Returns:
This buffer

put

public LongBuffer put(int index,
                      long c)
Description copied from class: LongBuffer
Write a long to the specified index of this buffer and the position is not changed.

Specified by:
put in class LongBuffer
Parameters:
index - The index, must be no less than zero and less than the limit
c - The long to write
Returns:
This buffer

put

public LongBuffer put(LongBuffer buf)
Description copied from class: LongBuffer
Writes all the remaining longs of the src long buffer to this buffer's current position, and increase both buffers' position by the number of longs copied.

Overrides:
put in class LongBuffer
Parameters:
buf - The source long buffer
Returns:
This buffer

put

public final LongBuffer put(long[] src,
                            int off,
                            int len)
Description copied from class: LongBuffer
Writes longs in the given long array, starting from the specified offset, to the current position and increase the position by the number of longs written.

Overrides:
put in class LongBuffer
Parameters:
src - The source long array
off - The offset of long array, must be no less than zero and no greater than src.length
len - The number of longs to write, must be no less than zero and no greater than src.length - off
Returns:
This buffer

slice

public LongBuffer slice()
Description copied from class: LongBuffer
Returns a sliced buffer that shares content with this buffer.

The sliced buffer's capacity will be this buffer's remaining(), and its zero position will correspond to this buffer's current position. The new buffer's position will be 0, limit will be its capacity, and its mark is unset. The new buffer's readonly property and byte order are same as this buffer.

The new buffer shares content with this buffer, which means either buffer's change of content will be visible to the other. The two buffer's position, limit and mark are independent.

Specified by:
slice in class LongBuffer
Returns:
A sliced buffer that shares content with this buffer.

Build 1.0_r1(from source)

Please submit a feedback, bug or feature