Android
java.nio
public abstract class

java.nio.ShortBuffer

java.lang.Object
java.nio.Buffer
java.nio.ShortBuffer Comparable<T>

A buffer of shorts.

A short buffer can be created in either of the following ways:

  • Allocate a new short array and create a buffer based on it;
  • Wrap an existing short array to create a new buffer;
  • Use ByteBuffer.asShortBuffer to create a short buffer based on a byte buffer.

Summary

Public Methods

      static    ShortBuffer  allocate(int capacity)
Creates a short buffer based on a new allocated short array.
    final      short[]  array()
Returns the short array which this buffer is based on, if there's one.
    final      int  arrayOffset()
Returns the offset of the short array which this buffer is based on, if there's one.
abstract          ShortBuffer  asReadOnlyBuffer()
Returns a readonly buffer that shares content with this buffer.
abstract          ShortBuffer  compact()
Compacts this short buffer.
          int  compareTo(ShortBuffer otherBuffer)
Compare the remaining shorts of this buffer to another short buffer's remaining shorts.
abstract          ShortBuffer  duplicate()
Returns a duplicated buffer that shares content with this buffer.
          boolean  equals(Object other)
Tests whether this short buffer equals to another object.
abstract          short  get()
Returns the short at the current position and increase the position by 1.
abstract          short  get(int index)
Returns a short at the specified index, and the position is not changed.
          ShortBuffer  get(short[] dest)
Reads shorts from the current position into the specified short array and increase the position by the number of shorts read.
          ShortBuffer  get(short[] dest, int off, int len)
Reads shorts from the current position into the specified short array, starting from the specified offset, and increase the position by the number of shorts read.
    final      boolean  hasArray()
Returns whether this buffer is based on a short array and is read/write.
          int  hashCode()
Hash code is calculated from the remaining shorts.
abstract          boolean  isDirect()
Returns true if this buffer is direct.
abstract          ByteOrder  order()
Returns the byte order used by this buffer when converting shorts from/to bytes.
          ShortBuffer  put(ShortBuffer src)
Writes all the remaining shorts of the src short buffer to this buffer's current position, and increase both buffers' position by the number of shorts copied.
abstract          ShortBuffer  put(int index, short s)
Write a short to the specified index of this buffer and the position is not changed.
          ShortBuffer  put(short[] src, int off, int len)
Writes shorts in the given short array, starting from the specified offset, to the current position and increase the position by the number of shorts written.
abstract          ShortBuffer  put(short s)
Writes the given short to the current position and increase the position by 1.
    final      ShortBuffer  put(short[] src)
Writes shorts in the given short array to the current position and increase the position by the number of shorts written.
abstract          ShortBuffer  slice()
Returns a sliced buffer that shares content with this buffer.
          String  toString()
Returns a string represents the state of this short buffer.
      static    ShortBuffer  wrap(short[] array, int start, int len)
Creates new a short buffer by wrapping the given short array.
      static    ShortBuffer  wrap(short[] array)
Creates a new short buffer by wrapping the given short array.
Methods inherited from class java.nio.Buffer
Methods inherited from class java.lang.Object
Methods inherited from interface java.lang.Comparable

Details

Public Methods

public static ShortBuffer allocate(int capacity)

Creates a short buffer based on a new allocated short array.

Parameters

capacity The capacity of the new buffer

Returns

  • The created short buffer

Throws

IllegalArgumentException If capacity is less than zero

public final short[] array()

Returns the short array which this buffer is based on, if there's one.

Returns

  • The short array which this buffer is based on

Throws

ReadOnlyBufferException If this buffer is based on an array, but it is readonly
UnsupportedOperationException If this buffer is not based on an array

public final int arrayOffset()

Returns the offset of the short array which this buffer is based on, if there's one.

The offset is the index of the array corresponds to the zero position of the buffer.

Returns

  • The offset of the short array which this buffer is based on

Throws

ReadOnlyBufferException If this buffer is based on an array, but it is readonly
UnsupportedOperationException If this buffer is not based on an array

public abstract ShortBuffer asReadOnlyBuffer()

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.

Returns

  • A readonly version of this buffer.

public abstract ShortBuffer compact()

Compacts this short buffer.

The remaining shorts 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.

Returns

  • This buffer

Throws

ReadOnlyBufferException If no changes may be made to the contents of this buffer

public int compareTo(ShortBuffer otherBuffer)

Compare the remaining shorts of this buffer to another short buffer's remaining shorts.

Parameters

otherBuffer Another short buffer

Returns

  • a negative value if this is less than other; 0 if this equals to other; a positive value if this is greater than other

Throws

ClassCastException If other is not a short buffer

public abstract ShortBuffer duplicate()

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.

Returns

  • A duplicated buffer that shares content with this buffer.

public boolean equals(Object other)

Tests whether this short buffer equals to another object.

If other is not a short buffer, then false is returned.

Two short buffers are equals if, and only if, their remaining shorts are exactly the same. Position, limit, capacity and mark are not considered.

Parameters

other the object to be compared against

Returns

  • Whether this short buffer equals to another object.

public abstract short get()

Returns the short at the current position and increase the position by 1.

Returns

  • The short at the current position.

Throws

BufferUnderflowException If the position is equal or greater than limit

public abstract short get(int index)

Returns a short at the specified index, and the position is not changed.

Parameters

index The index, must be no less than zero and less than limit

Returns

  • A short at the specified index.

Throws

IndexOutOfBoundsException If index is invalid

public ShortBuffer get(short[] dest)

Reads shorts from the current position into the specified short array and increase the position by the number of shorts read.

Calling this method has the same effect as get(dest, 0, dest.length).

Parameters

dest The destination short array

Returns

  • This buffer

Throws

BufferUnderflowException if dest.length is greater than remaining()

public ShortBuffer get(short[] dest, int off, int len)

Reads shorts from the current position into the specified short array, starting from the specified offset, and increase the position by the number of shorts read.

Parameters

dest The target short array
off The offset of the short array, must be no less than zero and no greater than dest.length
len The number of shorts to read, must be no less than zero and no greater than dest.length - off

Returns

  • This buffer

Throws

IndexOutOfBoundsException If either off or len is invalid
BufferUnderflowException If len is greater than remaining()

public final boolean hasArray()

Returns whether this buffer is based on a short array and is read/write.

If this buffer is readonly, then false is returned.

Returns

  • Whether this buffer is based on a short array and is read/write.

public int hashCode()

Hash code is calculated from the remaining shorts.

Position, limit, capacity and mark don't affect the hash code.

Returns

  • The hash code calculated from the remaining shorts.

public abstract boolean isDirect()

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 short buffer is direct, if it is based on a byte buffer and the byte buffer is direct.

Returns

  • True if this buffer is direct.

public abstract ByteOrder order()

Returns the byte order used by this buffer when converting shorts from/to bytes.

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

Returns

  • The byte order used by this buffer when converting shorts from/to bytes.

public ShortBuffer put(ShortBuffer src)

Writes all the remaining shorts of the src short buffer to this buffer's current position, and increase both buffers' position by the number of shorts copied.

Parameters

src The source short buffer

Returns

  • This buffer

Throws

BufferOverflowException If src.remaining() is greater than this buffer's remaining()
IllegalArgumentException If src is this buffer
ReadOnlyBufferException If no changes may be made to the contents of this buffer

public abstract ShortBuffer put(int index, short s)

Write a short to the specified index of this buffer and the position is not changed.

Parameters

index The index, must be no less than zero and less than the limit
s The short to write

Returns

  • This buffer

Throws

IndexOutOfBoundsException If index is invalid
ReadOnlyBufferException If no changes may be made to the contents of this buffer

public ShortBuffer put(short[] src, int off, int len)

Writes shorts in the given short array, starting from the specified offset, to the current position and increase the position by the number of shorts written.

Parameters

src The source short array
off The offset of short array, must be no less than zero and no greater than src.length
len The number of shorts to write, must be no less than zero and no greater than src.length - off

Returns

  • This buffer

Throws

BufferOverflowException If remaining() is less than len
IndexOutOfBoundsException If either off or len is invalid
ReadOnlyBufferException If no changes may be made to the contents of this buffer

public abstract ShortBuffer put(short s)

Writes the given short to the current position and increase the position by 1.

Parameters

s The short to write

Returns

  • This buffer

Throws

BufferOverflowException If position is equal or greater than limit
ReadOnlyBufferException If no changes may be made to the contents of this buffer

public final ShortBuffer put(short[] src)

Writes shorts in the given short array to the current position and increase the position by the number of shorts written.

Calling this method has the same effect as put(src, 0, src.length).

Parameters

src The source short array

Returns

  • This buffer

Throws

BufferOverflowException If remaining() is less than src.length
ReadOnlyBufferException If no changes may be made to the contents of this buffer

public abstract ShortBuffer slice()

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.

Returns

  • A sliced buffer that shares content with this buffer.

public String toString()

Returns a string represents the state of this short buffer.

Returns

  • A string represents the state of this short buffer.

public static ShortBuffer wrap(short[] array, int start, int len)

Creates new a short buffer by wrapping the given short array.

The new buffer's position will be start, limit will be start + len, capacity will be the length of the array.

Parameters

array The short array which the new buffer will be based on
start The start index, must be no less than zero and no greater than array.length
len The length, must be no less than zero and no greater than array.length - start

Returns

  • The created short buffer

Throws

IndexOutOfBoundsException If either start or len is invalid

public static ShortBuffer wrap(short[] array)

Creates a new short buffer by wrapping the given short array.

Calling this method has the same effect as wrap(array, 0, array.length).

Parameters

array The short array which the new buffer will be based on

Returns

  • The created short buffer
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:56