Class UnsignedShortBuffer


public final class UnsignedShortBuffer extends UnsignedBufferAsInt
Wraps a ShortBuffer but automatically performs conversion to int.

The conversion applies to ShortBuffer.get() and ShortBuffer.put(short) of single elements, but not to any mass get or put operations.

The user has a choice of getting/setting using raw (getRaw(), putRaw(short) etc.) or unsigned-conversion (getUnsigned(), putUnsigned(int) etc.) methods. The raw methods are always more efficient, and so should be preferred when conversion is not needed.

Author:
Owen Feehan
  • Method Summary

    Modifier and Type
    Method
    Description
    allocate(int capacity)
    Allocates a new (direct) buffer of unsigned-shorts.
    final short[]
    The array of the buffer ala ShortBuffer.array().
    protected boolean
     
    boolean
     
    The underlying storage buffer, to which calls are delegated with our without conversion.
    short
    Gets an unsigned-short (represented as a short) at the current buffer position.
    short
    getRaw(int index)
    Gets an unsigned-short (represented as a short) at a particular buffer position.
    int
    Gets an unsigned-byte (represented as a int) at the current buffer position.
    int
    getUnsigned(int index)
    Gets an unsigned-byte (represented as a int) at a particular buffer position.
    int
     
    void
    put(ShortBuffer source)
    Relative put-method from an unsigned short buffer, represented by a ShortBuffer.
    void
    Relative put-method from an unsigned short buffer, represented by a UnsignedShortBuffer.
    void
    putDouble(double value)
    Puts a double at the current buffer position.
    void
    putDouble(int index, double value)
    Puts a double at a particular buffer position.
    void
    putFloat(float value)
    Puts a float at the current buffer position.
    void
    putFloat(int index, float value)
    Puts a float at a particular buffer position.
    void
    putFloatClamped(float value)
    Puts a float at the current buffer position, clamping to ensure the value is within the range (0,255).
    void
    putLong(long value)
    Puts a long at the current buffer position.
    void
    putLongClamped(long value)
    Puts a long at the current buffer position, clamping to ensure the value is within the range (0,255).
    void
    putRaw(int index, short value)
    Puts an unsigned-short (represented as a short) a particular buffer position.
    void
    putRaw(short value)
    Puts an unsigned-short (represented as a short) at the current buffer position.
    void
    putUnsigned(int value)
    Puts an unsigned-byte (represented by an int) at current buffer position.
    void
    putUnsigned(int index, int value)
    Puts an unsigned-byte (represented as a int) a particular buffer position.
    void
    putUnsignedClamped(int value)
    Puts a long at the current buffer position, clamping to ensure the value is within the range (0,255).
    wrapRaw(short[] array)
    Exposes a raw short-array as a buffer with unsigned-shorts.
    wrapRaw(ShortBuffer bufferRaw)
    Exposes a raw UnsignedShortBuffer as a buffer with unsigned-shorts.

    Methods inherited from class org.anchoranalysis.image.voxel.buffer.primitive.UnsignedBufferAsInt

    toString

    Methods inherited from class org.anchoranalysis.image.voxel.buffer.primitive.UnsignedBuffer

    capacity, clear, hasArray, hasRemaining, isDirect, position, position

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Method Details

    • allocate

      public static UnsignedShortBuffer allocate(int capacity)
      Allocates a new (direct) buffer of unsigned-shorts.
      Parameters:
      capacity - size of buffer.
      Returns:
      newly created buffer (non-direct, i.e. backed by an array).
    • wrapRaw

      public static UnsignedShortBuffer wrapRaw(short[] array)
      Exposes a raw short-array as a buffer with unsigned-shorts.
      Parameters:
      array - the short-array.
      Returns:
      a new instance of UnsignedShortBuffer that reuses array internally.
    • wrapRaw

      public static UnsignedShortBuffer wrapRaw(ShortBuffer bufferRaw)
      Exposes a raw UnsignedShortBuffer as a buffer with unsigned-shorts.
      Parameters:
      bufferRaw - the raw-buffer
      Returns:
      a new instance of UnsignedShortBuffer that reuses bufferRaw internally.
    • getRaw

      public short getRaw()
      Gets an unsigned-short (represented as a short) at the current buffer position.

      No further conversion occurs, so this method is more efficient than getUnsigned().

      Returns:
      unsigned-short (represented by a short)
    • getRaw

      public short getRaw(int index)
      Gets an unsigned-short (represented as a short) at a particular buffer position.

      No further conversion occurs, so this method is more efficient than getUnsigned(int).

      Parameters:
      index - the buffer position
      Returns:
      unsigned-short (represented by a short)
    • getUnsigned

      public int getUnsigned()
      Description copied from class: UnsignedBufferAsInt
      Gets an unsigned-byte (represented as a int) at the current buffer position.
      Specified by:
      getUnsigned in class UnsignedBufferAsInt
      Returns:
      unsigned-byte (represented by a int)
    • getUnsigned

      public int getUnsigned(int index)
      Description copied from class: UnsignedBufferAsInt
      Gets an unsigned-byte (represented as a int) at a particular buffer position.
      Specified by:
      getUnsigned in class UnsignedBufferAsInt
      Parameters:
      index - the buffer position
      Returns:
      unsigned-byte (represented by a int)
    • putRaw

      public void putRaw(short value)
      Puts an unsigned-short (represented as a short) at the current buffer position.

      No further conversion occurs, so this method is more efficient than putUnsigned(int).

      Parameters:
      value - unsigned-short (represented by a short)
    • putRaw

      public void putRaw(int index, short value)
      Puts an unsigned-short (represented as a short) a particular buffer position.

      No further conversion occurs, so this method is more efficient than putUnsigned(int,int).

      Parameters:
      index - the buffer position
      value - the unsigned-short (represented by an short)
    • putUnsigned

      public void putUnsigned(int value)
      Description copied from class: UnsignedBufferAsInt
      Puts an unsigned-byte (represented by an int) at current buffer position.

      A conversion occurs from int to byte.

      Specified by:
      putUnsigned in class UnsignedBufferAsInt
      Parameters:
      value - the unsigned-byte (represented by an int)
    • putUnsignedClamped

      public void putUnsignedClamped(int value)
      Puts a long at the current buffer position, clamping to ensure the value is within the range (0,255).
      Parameters:
      value - the float
    • putUnsigned

      public void putUnsigned(int index, int value)
      Description copied from class: UnsignedBufferAsInt
      Puts an unsigned-byte (represented as a int) a particular buffer position.

      A conversion occurs from int to byte.

      Specified by:
      putUnsigned in class UnsignedBufferAsInt
      Parameters:
      index - the buffer position
      value - the unsigned-byte (represented by an int)
    • putLong

      public void putLong(long value)
      Description copied from class: UnsignedBuffer
      Puts a long at the current buffer position.
      Specified by:
      putLong in class UnsignedBuffer
      Parameters:
      value - the long.
    • putLongClamped

      public void putLongClamped(long value)
      Puts a long at the current buffer position, clamping to ensure the value is within the range (0,255).
      Parameters:
      value - the float
    • putFloat

      public void putFloat(float value)
      Description copied from class: UnsignedBuffer
      Puts a float at the current buffer position.

      A conversion occurs from float to short.

      Specified by:
      putFloat in class UnsignedBuffer
      Parameters:
      value - the float.
    • putFloatClamped

      public void putFloatClamped(float value)
      Puts a float at the current buffer position, clamping to ensure the value is within the range (0,255).
      Parameters:
      value - the float
    • putFloat

      public void putFloat(int index, float value)
      Description copied from class: UnsignedBuffer
      Puts a float at a particular buffer position.

      A conversion occurs from float to byte.

      Specified by:
      putFloat in class UnsignedBuffer
      Parameters:
      index - the buffer position
      value - the float.
    • putDouble

      public void putDouble(double value)
      Description copied from class: UnsignedBuffer
      Puts a double at the current buffer position.
      Specified by:
      putDouble in class UnsignedBuffer
      Parameters:
      value - the double
    • putDouble

      public void putDouble(int index, double value)
      Description copied from class: UnsignedBuffer
      Puts a double at a particular buffer position.
      Specified by:
      putDouble in class UnsignedBuffer
      Parameters:
      index - the buffer position
      value - the double
    • put

      public void put(ShortBuffer source)
      Relative put-method from an unsigned short buffer, represented by a ShortBuffer.

      This is identical to ShortBuffer.put(ShortBuffer), with no return value.

      Parameters:
      source - source of bytes to put
    • put

      public void put(UnsignedShortBuffer source)
      Relative put-method from an unsigned short buffer, represented by a UnsignedShortBuffer.

      This is identical to ShortBuffer.put(ShortBuffer), with no return value.

      Parameters:
      source - source of bytes to put
    • array

      public final short[] array()
      The array of the buffer ala ShortBuffer.array().

      Unlike ShortBuffer.array() an array will always be returned, copying it into a newly created array, if it cannot be directly accessed.

      Returns:
      the array
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class UnsignedBufferAsInt
    • canEqual

      protected boolean canEqual(Object other)
      Overrides:
      canEqual in class UnsignedBufferAsInt
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class UnsignedBufferAsInt
    • getDelegate

      public ShortBuffer getDelegate()
      The underlying storage buffer, to which calls are delegated with our without conversion.