Build 1.0_r1(from source)

java.nio
Class DoubleToByteBufferAdapter

java.lang.Object
  extended by java.nio.Buffer
      extended by java.nio.DoubleBuffer
          extended by java.nio.DoubleToByteBufferAdapter
All Implemented Interfaces:
Comparable<DoubleBuffer>, org.apache.harmony.nio.internal.DirectBuffer

final class DoubleToByteBufferAdapter
extends DoubleBuffer
implements org.apache.harmony.nio.internal.DirectBuffer

This class wraps a byte buffer to be a double buffer.

Implementation notice:


Field Summary
 
Fields inherited from class java.nio.Buffer
_elementSizeShift, capacity, limit, mark, position, UNSET_MARK
 
Constructor Summary
DoubleToByteBufferAdapter(ByteBuffer byteBuffer)
           
 
Method Summary
 void addressValidityCheck()
           
 DoubleBuffer asReadOnlyBuffer()
          Returns a readonly buffer that shares content with this buffer.
 DoubleBuffer compact()
          Compacts this double buffer.
 DoubleBuffer duplicate()
          Returns a duplicated buffer that shares content with this buffer.
 void free()
           
 double get()
          Returns the double at the current position and increase the position by 1.
 double get(int index)
          Returns a double at the specified index, and the position is not changed.
 org.apache.harmony.luni.platform.PlatformAddress getBaseAddress()
           
 int getByteCapacity()
           
 org.apache.harmony.luni.platform.PlatformAddress getEffectiveAddress()
           
 boolean isAddressValid()
           
 boolean isDirect()
          Returns true if this buffer is direct.
 boolean isReadOnly()
          Returns whether this buffer is readonly or not.
 ByteOrder order()
          Returns the byte order used by this buffer when converting doubles from/to bytes.
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(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.
(package private) static DoubleBuffer wrap(ByteBuffer byteBuffer)
           
 
Methods inherited from class java.nio.DoubleBuffer
_array, _arrayOffset, allocate, array, arrayOffset, compareTo, equals, get, get, hasArray, hashCode, put, 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

DoubleToByteBufferAdapter

DoubleToByteBufferAdapter(ByteBuffer byteBuffer)
Method Detail

wrap

static DoubleBuffer wrap(ByteBuffer byteBuffer)

getByteCapacity

public int getByteCapacity()
Specified by:
getByteCapacity in interface org.apache.harmony.nio.internal.DirectBuffer

getEffectiveAddress

public org.apache.harmony.luni.platform.PlatformAddress getEffectiveAddress()
Specified by:
getEffectiveAddress in interface org.apache.harmony.nio.internal.DirectBuffer

getBaseAddress

public org.apache.harmony.luni.platform.PlatformAddress getBaseAddress()
Specified by:
getBaseAddress in interface org.apache.harmony.nio.internal.DirectBuffer

isAddressValid

public boolean isAddressValid()
Specified by:
isAddressValid in interface org.apache.harmony.nio.internal.DirectBuffer

addressValidityCheck

public void addressValidityCheck()
Specified by:
addressValidityCheck in interface org.apache.harmony.nio.internal.DirectBuffer

free

public void free()
Specified by:
free in interface org.apache.harmony.nio.internal.DirectBuffer

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.

get

public double get()
Description copied from class: DoubleBuffer
Returns the double at the current position and increase the position by 1.

Specified by:
get in class DoubleBuffer
Returns:
The double at the current position.

get

public double get(int index)
Description copied from class: DoubleBuffer
Returns a double at the specified index, and the position is not changed.

Specified by:
get in class DoubleBuffer
Parameters:
index - The index, must be no less than zero and less than limit
Returns:
A double at the specified index.

isDirect

public boolean isDirect()
Description copied from class: DoubleBuffer
Returns true if this buffer is direct.

A direct buffer will try its best to take advantage of native memory APIs and it may not stay in java heap, thus not affected by GC.

A double buffer is direct, if it is based on a byte buffer and the byte buffer is direct.

Specified by:
isDirect in class DoubleBuffer
Returns:
True if this buffer is direct.

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.

order

public ByteOrder order()
Description copied from class: DoubleBuffer
Returns the byte order used by this buffer when converting doubles from/to bytes.

If this buffer is not based on a byte buffer, then always return the platform's native byte order.

Specified by:
order in class DoubleBuffer
Returns:
The byte order used by this buffer when converting doubles from/to bytes.

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

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