com.google.gwt.typedarrays.client

## Class DataViewNativeEmul

- java.lang.Object
- - com.google.gwt.typedarrays.client.DataViewNativeEmul

All Implemented Interfaces:
  ArrayBufferView, DataView

    public class DataViewNativeEmul
    extends java.lang.Object
    implements DataView

JS native implementation of `DataView` for platforms with typed array support but missing DataView (ie, Firefox).

### Field Summary

Fields
`protected ArrayBuffer` `buffer`
`protected int` `bufferByteOffset`
`protected int` `byteLength`
`protected Uint8ArrayNative` `tempBuffer` A temporary buffer used for reversing bytes.
`protected Uint8ArrayNative` `uint8Array` A view of the underlying buffer as bytes.

### Constructor Summary

Constructors
`protected` `DataViewNativeEmul(ArrayBuffer buffer, int byteOffset, int byteLength)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`ArrayBuffer` `buffer()` Get the underlying `ArrayBuffer`.
`int` `byteLength()` Get the length of this view in bytes.
`int` `byteOffset()` Get the offset from the beginning of the underlying `ArrayBuffer`.
`static DataView` `create(ArrayBuffer buffer, int byteOffset, int byteLength)`
`float` `getFloat32(int byteOffset)`
`float` `getFloat32(int byteOffset, boolean littleEndian)`
`double` `getFloat64(int byteOffset)`
`double` `getFloat64(int byteOffset, boolean littleEndian)`
`short` `getInt16(int byteOffset)`
`short` `getInt16(int byteOffset, boolean littleEndian)`
`int` `getInt32(int byteOffset)`
`int` `getInt32(int byteOffset, boolean littleEndian)`
`byte` `getInt8(int byteOffset)`
`int` `getUint16(int byteOffset)`
`int` `getUint16(int byteOffset, boolean littleEndian)`
`long` `getUint32(int byteOffset)`
`long` `getUint32(int byteOffset, boolean littleEndian)`
`double` `getUint32AsDouble(int byteOffset)`
`double` `getUint32AsDouble(int byteOffset, boolean littleEndian)`
`short` `getUint8(int byteOffset)`
`protected void` `reverseBytes(Uint8ArrayNative src, int srcOfs, int len, Uint8ArrayNative dest, int destOfs)` Copy bytes from the underlying buffer to a temporary buffer, reversing them in the process.
`void` `setFloat32(int byteOffset, float value)`
`void` `setFloat32(int byteOffset, float value, boolean littleEndian)`
`void` `setFloat64(int byteOffset, double value)`
`void` `setFloat64(int byteOffset, double value, boolean littleEndian)`
`void` `setInt16(int byteOffset, int value)`
`void` `setInt16(int byteOffset, int value, boolean littleEndian)`
`void` `setInt32(int byteOffset, int value)`
`void` `setInt32(int byteOffset, int value, boolean littleEndian)`
`void` `setInt8(int byteOffset, int value)`
`void` `setUint16(int byteOffset, int value)`
`void` `setUint16(int byteOffset, int value, boolean littleEndian)`
`void` `setUint32(int byteOffset, long value)`
`void` `setUint32(int byteOffset, long value, boolean littleEndian)`
`void` `setUint32FromDouble(int byteOffset, double value)`
`void` `setUint32FromDouble(int byteOffset, double value, boolean littleEndian)`
`void` `setUint8(int byteOffset, int value)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### buffer

    protected final ArrayBuffer buffer

#### bufferByteOffset

    protected final int bufferByteOffset

#### byteLength

    protected final int byteLength

#### tempBuffer

    protected final Uint8ArrayNative tempBuffer

A temporary buffer used for reversing bytes.

#### uint8Array

    protected final Uint8ArrayNative uint8Array

A view of the underlying buffer as bytes.

### Constructor Detail

#### DataViewNativeEmul

    protected DataViewNativeEmul(ArrayBuffer buffer,
                                 int byteOffset,
                                 int byteLength)

### Method Detail

#### create

    public static DataView create(ArrayBuffer buffer,
                                  int byteOffset,
                                  int byteLength)

Parameters:
  `buffer` -
  `byteOffset` -
  `byteLength` -
Returns:
  a `DataView` instance

#### buffer

    public ArrayBuffer buffer()

Description copied from interface: `ArrayBufferView`
Get the underlying `ArrayBuffer`.

Specified by:
  `buffer` in interface `ArrayBufferView`
Returns:
  the `ArrayBuffer` instance backing this view

#### byteLength

    public int byteLength()

Description copied from interface: `ArrayBufferView`
Get the length of this view in bytes.

Specified by:
  `byteLength` in interface `ArrayBufferView`
Returns:
  number of bytes in this view

#### byteOffset

    public int byteOffset()

Description copied from interface: `ArrayBufferView`
Get the offset from the beginning of the underlying `ArrayBuffer`.

Specified by:
  `byteOffset` in interface `ArrayBufferView`
Returns:
  0-based offset from the beginning of `ArrayBufferView.buffer()`

#### getFloat32

    public float getFloat32(int byteOffset)

Specified by:
  `getFloat32` in interface `DataView`

#### getFloat32

    public float getFloat32(int byteOffset,
                            boolean littleEndian)

Specified by:
  `getFloat32` in interface `DataView`

#### getFloat64

    public double getFloat64(int byteOffset)

Specified by:
  `getFloat64` in interface `DataView`

#### getFloat64

    public double getFloat64(int byteOffset,
                             boolean littleEndian)

Specified by:
  `getFloat64` in interface `DataView`

#### getInt16

    public short getInt16(int byteOffset)

Specified by:
  `getInt16` in interface `DataView`

#### getInt16

    public short getInt16(int byteOffset,
                          boolean littleEndian)

Specified by:
  `getInt16` in interface `DataView`

#### getInt32

    public int getInt32(int byteOffset)

Specified by:
  `getInt32` in interface `DataView`

#### getInt32

    public int getInt32(int byteOffset,
                        boolean littleEndian)

Specified by:
  `getInt32` in interface `DataView`

#### getInt8

    public byte getInt8(int byteOffset)

Specified by:
  `getInt8` in interface `DataView`

#### getUint16

    public int getUint16(int byteOffset)

Specified by:
  `getUint16` in interface `DataView`

#### getUint16

    public int getUint16(int byteOffset,
                         boolean littleEndian)

Specified by:
  `getUint16` in interface `DataView`

#### getUint32

    public long getUint32(int byteOffset)

Specified by:
  `getUint32` in interface `DataView`

#### getUint32

    public long getUint32(int byteOffset,
                          boolean littleEndian)

Specified by:
  `getUint32` in interface `DataView`

#### getUint32AsDouble

    public double getUint32AsDouble(int byteOffset)

Specified by:
  `getUint32AsDouble` in interface `DataView`
Returns:
  unsigned 32-bit int as a double

#### getUint32AsDouble

    public double getUint32AsDouble(int byteOffset,
                                    boolean littleEndian)

Specified by:
  `getUint32AsDouble` in interface `DataView`
Returns:
  unsigned 32-bit int as a double

#### getUint8

    public short getUint8(int byteOffset)

Specified by:
  `getUint8` in interface `DataView`

#### setFloat32

    public void setFloat32(int byteOffset,
                           float value)

Specified by:
  `setFloat32` in interface `DataView`

#### setFloat32

    public void setFloat32(int byteOffset,
                           float value,
                           boolean littleEndian)

Specified by:
  `setFloat32` in interface `DataView`

#### setFloat64

    public void setFloat64(int byteOffset,
                           double value)

Specified by:
  `setFloat64` in interface `DataView`

#### setFloat64

    public void setFloat64(int byteOffset,
                           double value,
                           boolean littleEndian)

Specified by:
  `setFloat64` in interface `DataView`

#### setInt16

    public void setInt16(int byteOffset,
                         int value)

Specified by:
  `setInt16` in interface `DataView`

#### setInt16

    public void setInt16(int byteOffset,
                         int value,
                         boolean littleEndian)

Specified by:
  `setInt16` in interface `DataView`

#### setInt32

    public void setInt32(int byteOffset,
                         int value)

Specified by:
  `setInt32` in interface `DataView`

#### setInt32

    public void setInt32(int byteOffset,
                         int value,
                         boolean littleEndian)

Specified by:
  `setInt32` in interface `DataView`

#### setInt8

    public void setInt8(int byteOffset,
                        int value)

Specified by:
  `setInt8` in interface `DataView`

#### setUint16

    public void setUint16(int byteOffset,
                          int value)

Specified by:
  `setUint16` in interface `DataView`

#### setUint16

    public void setUint16(int byteOffset,
                          int value,
                          boolean littleEndian)

Specified by:
  `setUint16` in interface `DataView`

#### setUint32

    public void setUint32(int byteOffset,
                          long value)

Specified by:
  `setUint32` in interface `DataView`

#### setUint32

    public void setUint32(int byteOffset,
                          long value,
                          boolean littleEndian)

Specified by:
  `setUint32` in interface `DataView`

#### setUint32FromDouble

    public void setUint32FromDouble(int byteOffset,
                                    double value)

Specified by:
  `setUint32FromDouble` in interface `DataView`

#### setUint32FromDouble

    public void setUint32FromDouble(int byteOffset,
                                    double value,
                                    boolean littleEndian)

Specified by:
  `setUint32FromDouble` in interface `DataView`

#### setUint8

    public void setUint8(int byteOffset,
                         int value)

Specified by:
  `setUint8` in interface `DataView`

#### reverseBytes

    protected final void reverseBytes(Uint8ArrayNative src,
                                      int srcOfs,
                                      int len,
                                      Uint8ArrayNative dest,
                                      int destOfs)

Copy bytes from the underlying buffer to a temporary buffer, reversing them in the process.

Parameters:
  `src` -
  `srcOfs` - offset into `buffer`
  `len` - number of bytes to copy
  `dest` -
  `destOfs` -