Build 1.0_r1(from source)

java.nio
Class ReadWriteDoubleArrayBuffer

java.lang.Object
  extended by java.nio.Buffer
      extended by java.nio.DoubleBuffer
          extended by java.nio.DoubleArrayBuffer
              extended by java.nio.ReadWriteDoubleArrayBuffer
All Implemented Interfaces:
Comparable<DoubleBuffer>

final class ReadWriteDoubleArrayBuffer
extends DoubleArrayBuffer

DoubleArrayBuffer, ReadWriteDoubleArrayBuffer and ReadOnlyDoubleArrayBuffer compose the implementation of array based double buffers.

ReadWriteDoubleArrayBuffer extends DoubleArrayBuffer with all the write methods.

This class is marked final for runtime performance.


Field Summary
 
Fields inherited from class java.nio.DoubleArrayBuffer
backingArray, offset
 
Fields inherited from class java.nio.Buffer
_elementSizeShift, capacity, limit, mark, position, UNSET_MARK
 
Constructor Summary
ReadWriteDoubleArrayBuffer(double[] array)
           
ReadWriteDoubleArrayBuffer(int capacity)
           
ReadWriteDoubleArrayBuffer(int capacity, double[] backingArray, int arrayOffset)
           
 
Method Summary
 DoubleBuffer asReadOnlyBuffer()
          Returns a readonly buffer that shares content with this buffer.
 DoubleBuffer compact()
          Compacts this double buffer.
(package private) static ReadWriteDoubleArrayBuffer copy(DoubleArrayBuffer other, int markOfOther)
           
 DoubleBuffer duplicate()
          Returns a duplicated buffer that shares content with this buffer.
 boolean isReadOnly()
          Returns whether this buffer is readonly or not.
protected  double[] 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().
 DoubleBuffer put(double c)
          Writes the given double to the current position and increase the position by 1.
 DoubleBuffer put(double[] src, int off, int len)
          Writes doubles in the given double array, starting from the specified offset, to the current position and increase the position by the number of doubles written.
 DoubleBuffer put(int index, double c)
          Write a double to the specified index of this buffer and the position is not changed.
 DoubleBuffer slice()
          Returns a sliced buffer that shares content with this buffer.
 
Methods inherited from class java.nio.DoubleArrayBuffer
get, get, get, isDirect, order
 
Methods inherited from class java.nio.DoubleBuffer
_array, _arrayOffset, allocate, array, arrayOffset, compareTo, equals, get, hasArray, hashCode, put, 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

ReadWriteDoubleArrayBuffer

ReadWriteDoubleArrayBuffer(double[] array)

ReadWriteDoubleArrayBuffer

ReadWriteDoubleArrayBuffer(int capacity)

ReadWriteDoubleArrayBuffer

ReadWriteDoubleArrayBuffer(int capacity,
                           double[] backingArray,
                           int arrayOffset)
Method Detail

copy

static ReadWriteDoubleArrayBuffer copy(DoubleArrayBuffer other,
                                       int markOfOther)

asReadOnlyBuffer

public DoubleBuffer asReadOnlyBuffer()
Description copied from class: DoubleBuffer
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 DoubleBuffer
Returns:
A readonly version of this buffer.

compact

public DoubleBuffer compact()
Description copied from class: DoubleBuffer
Compacts this double buffer.

The remaining doubles 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 DoubleBuffer
Returns:
This buffer

duplicate

public DoubleBuffer duplicate()
Description copied from class: DoubleBuffer
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 DoubleBuffer
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 double[] protectedArray()
Description copied from class: DoubleBuffer
Child class implements this method to realize array().

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

protectedArrayOffset

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

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

protectedHasArray

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

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

put

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

Specified by:
put in class DoubleBuffer
Parameters:
c - The double to write
Returns:
This buffer

put

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

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

put

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

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

slice

public DoubleBuffer slice()
Description copied from class: DoubleBuffer
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 DoubleBuffer
Returns:
A sliced buffer that shares content with this buffer.

Build 1.0_r1(from source)

Please submit a feedback, bug or feature