| /* |
| * Copyright 2012 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| package com.google.gwt.typedarrays.server; |
| |
| import com.google.gwt.typedarrays.shared.ArrayBuffer; |
| import com.google.gwt.typedarrays.shared.DataView; |
| import com.google.gwt.typedarrays.shared.Float32Array; |
| import com.google.gwt.typedarrays.shared.Float64Array; |
| import com.google.gwt.typedarrays.shared.Int16Array; |
| import com.google.gwt.typedarrays.shared.Int32Array; |
| import com.google.gwt.typedarrays.shared.Int8Array; |
| import com.google.gwt.typedarrays.shared.TypedArrays; |
| import com.google.gwt.typedarrays.shared.TypedArrays.Impl; |
| import com.google.gwt.typedarrays.shared.Uint16Array; |
| import com.google.gwt.typedarrays.shared.Uint32Array; |
| import com.google.gwt.typedarrays.shared.Uint8Array; |
| import com.google.gwt.typedarrays.shared.Uint8ClampedArray; |
| |
| /** |
| * Pure Java implementation class for typed arrays. |
| */ |
| public class JavaImpl extends Impl { |
| |
| @Override |
| public ArrayBuffer createArrayBuffer(int length) { |
| return new ArrayBufferImpl(length); |
| } |
| |
| @Override |
| public DataView createDataView(ArrayBuffer buffer, int byteOffset, int byteLength) { |
| return new DataViewImpl(buffer, byteOffset, byteLength); |
| } |
| |
| @Override |
| public Float32Array createFloat32Array(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Float32ArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| public Float32Array createFloat32Array(float[] array) { |
| Float32Array result = TypedArrays.createFloat32Array(array.length); |
| result.set(array); |
| return result; |
| } |
| |
| @Override |
| public Float64Array createFloat64Array(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Float64ArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| public Int16Array createInt16Array(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Int16ArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| public Int32Array createInt32Array(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Int32ArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| public Int8Array createInt8Array(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Int8ArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| public Uint16Array createUint16Array(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Uint16ArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| public Uint32Array createUint32Array(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Uint32ArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| public Uint8Array createUint8Array(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Uint8ArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| public Uint8ClampedArray createUint8ClampedArray(ArrayBuffer buffer, int byteOffset, int length) { |
| return new Uint8ClampedArrayImpl(buffer, byteOffset, length); |
| } |
| |
| @Override |
| protected boolean runtimeSupportCheck() { |
| return true; |
| } |
| } |