java.nio
Class DoubleBuffer

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

public abstract class DoubleBuffer
extends Buffer
implements Comparable<DoubleBuffer>

Since:
1.4

Method Summary
static DoubleBuffer allocate(int capacity)
          Allocates a new DoubleBuffer object with a given capacity.
 double[] array()
          Returns the double array that backs this buffer.
 int arrayOffset()
          Returns the offset within this buffer's backing array of the first element.
abstract  DoubleBuffer asReadOnlyBuffer()
          Creates a new read-only DoubleBuffer that shares this buffer's content.
abstract  DoubleBuffer compact()
          Compacts this buffer.
 int compareTo(DoubleBuffer other)
          Compares two DoubleBuffer objects.
abstract  DoubleBuffer duplicate()
          Creates a new DoubleBuffer that shares this buffer's content.
 boolean equals(Object obj)
          Checks if this buffer is equal to obj.
abstract  double get()
          Reads the double at this buffer's current position, and then increments the position.
 DoubleBuffer get(double[] dst)
          This method transfers doubles from this buffer into the given destination array.
 DoubleBuffer get(double[] dst, int offset, int length)
          This method transfers doubles from this buffer into the given destination array.
abstract  double get(int index)
          Absolute get method.
 boolean hasArray()
          Tells whether ot not this buffer is backed by an accessible double array.
 int hashCode()
          Calculates a hash code for this buffer.
abstract  boolean isDirect()
          Tells wether or not this buffer is direct.
abstract  ByteOrder order()
          Returns the byte order of this buffer.
abstract  DoubleBuffer put(double b)
          Writes the double at this buffer's current position, and then increments the position.
 DoubleBuffer put(double[] src)
          Writes the content of the the double array src into the buffer.
 DoubleBuffer put(double[] src, int offset, int length)
          Writes the content of the the double array src into the buffer.
 DoubleBuffer put(DoubleBuffer src)
          Writes the content of the the DoubleBUFFER src into the buffer.
abstract  DoubleBuffer put(int index, double b)
          Absolute put method.
abstract  DoubleBuffer slice()
          Creates a new DoubleBuffer whose content is a shared subsequence of this buffer's content.
static DoubleBuffer wrap(double[] array)
          Wraps a double array into a DoubleBuffer object.
static DoubleBuffer wrap(double[] array, int offset, int length)
          Wraps a double array into a DoubleBuffer object.
 
Methods inherited from class java.nio.Buffer
capacity, clear, flip, hasRemaining, isReadOnly, limit, limit, mark, position, position, remaining, reset, rewind
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

allocate

public static DoubleBuffer allocate(int capacity)
Allocates a new DoubleBuffer object with a given capacity.


wrap

public static final DoubleBuffer wrap(double[] array,
                                      int offset,
                                      int length)
Wraps a double array into a DoubleBuffer object.

Throws:
IndexOutOfBoundsException - If the preconditions on the offset and length parameters do not hold

wrap

public static final DoubleBuffer wrap(double[] array)
Wraps a double array into a DoubleBuffer object.


get

public DoubleBuffer get(double[] dst,
                        int offset,
                        int length)
This method transfers doubles from this buffer into the given destination array. Before the transfer, it checks if there are fewer than length doubles remaining in this buffer.

Parameters:
dst - The destination array
offset - The offset within the array of the first double to be written; must be non-negative and no larger than dst.length.
length - The maximum number of bytes to be written to the given array; must be non-negative and no larger than dst.length - offset.
Throws:
BufferUnderflowException - If there are fewer than length doubles remaining in this buffer.
IndexOutOfBoundsException - If the preconditions on the offset and length parameters do not hold.

get

public DoubleBuffer get(double[] dst)
This method transfers doubles from this buffer into the given destination array.

Parameters:
dst - The byte array to write into.
Throws:
BufferUnderflowException - If there are fewer than dst.length doubles remaining in this buffer.

put

public DoubleBuffer put(DoubleBuffer src)
Writes the content of the the DoubleBUFFER src into the buffer. Before the transfer, it checks if there is fewer than src.remaining() space remaining in this buffer.

Parameters:
src - The source data.
Throws:
BufferOverflowException - If there is insufficient space in this buffer for the remaining doubles in the source buffer.
IllegalArgumentException - If the source buffer is this buffer.
ReadOnlyBufferException - If this buffer is read-only.

put

public DoubleBuffer put(double[] src,
                        int offset,
                        int length)
Writes the content of the the double array src into the buffer. Before the transfer, it checks if there is fewer than length space remaining in this buffer.

Parameters:
src - The array to copy into the buffer.
offset - The offset within the array of the first byte to be read; must be non-negative and no larger than src.length.
length - The number of bytes to be read from the given array; must be non-negative and no larger than src.length - offset.
Throws:
BufferOverflowException - If there is insufficient space in this buffer for the remaining doubles in the source array.
IndexOutOfBoundsException - If the preconditions on the offset and length parameters do not hold
ReadOnlyBufferException - If this buffer is read-only.

put

public final DoubleBuffer put(double[] src)
Writes the content of the the double array src into the buffer.

Parameters:
src - The array to copy into the buffer.
Throws:
BufferOverflowException - If there is insufficient space in this buffer for the remaining doubles in the source array.
ReadOnlyBufferException - If this buffer is read-only.

hasArray

public final boolean hasArray()
Tells whether ot not this buffer is backed by an accessible double array.


array

public final double[] array()
Returns the double array that backs this buffer.

Throws:
ReadOnlyBufferException - If this buffer is read-only.
UnsupportedOperationException - If this buffer is not backed by an accessible array.

arrayOffset

public final int arrayOffset()
Returns the offset within this buffer's backing array of the first element.

Throws:
ReadOnlyBufferException - If this buffer is read-only.
UnsupportedOperationException - If this buffer is not backed by an accessible array.

hashCode

public int hashCode()
Calculates a hash code for this buffer. This is done with long arithmetic, where ** represents exponentiation, by this formula:
s[position()] + 31 + (s[position()+1] + 30)*31**1 + ... + (s[limit()-1]+30)*31**(limit()-1). Where s is the buffer data, in Double.doubleToLongBits() form Note that the hashcode is dependent on buffer content, and therefore is not useful if the buffer content may change.

Overrides:
hashCode in class Object
Returns:
the hash code (casted to int)
See Also:
Object.equals(Object), System.identityHashCode(Object)

equals

public boolean equals(Object obj)
Checks if this buffer is equal to obj.

Overrides:
equals in class Object
Parameters:
obj - the Object to compare to
Returns:
whether this Object is semantically equal to another
See Also:
Object.hashCode()

compareTo

public int compareTo(DoubleBuffer other)
Compares two DoubleBuffer objects.

Specified by:
compareTo in interface Comparable<DoubleBuffer>
Parameters:
other - the object to be compared
Returns:
an integer describing the comparison
Throws:
ClassCastException - If obj is not an object derived from DoubleBuffer.

order

public abstract ByteOrder order()
Returns the byte order of this buffer.


get

public abstract double get()
Reads the double at this buffer's current position, and then increments the position.

Throws:
BufferUnderflowException - If there are no remaining doubles in this buffer.

put

public abstract DoubleBuffer put(double b)
Writes the double at this buffer's current position, and then increments the position.

Throws:
BufferOverflowException - If there no remaining doubles in this buffer.
ReadOnlyBufferException - If this buffer is read-only.

get

public abstract double get(int index)
Absolute get method.

Throws:
IndexOutOfBoundsException - If index is negative or not smaller than the buffer's limit.

put

public abstract DoubleBuffer put(int index,
                                 double b)
Absolute put method.

Throws:
IndexOutOfBoundsException - If index is negative or not smaller than the buffer's limit.
ReadOnlyBufferException - If this buffer is read-only.

compact

public abstract DoubleBuffer compact()
Compacts this buffer.

Throws:
ReadOnlyBufferException - If this buffer is read-only.

isDirect

public abstract boolean isDirect()
Tells wether or not this buffer is direct.


slice

public abstract DoubleBuffer slice()
Creates a new DoubleBuffer whose content is a shared subsequence of this buffer's content.


duplicate

public abstract DoubleBuffer duplicate()
Creates a new DoubleBuffer that shares this buffer's content.


asReadOnlyBuffer

public abstract DoubleBuffer asReadOnlyBuffer()
Creates a new read-only DoubleBuffer that shares this buffer's content.