Wed, 31 Dec 2014 07:22:50 +0100
Correct previous dual key logic pending first delivery installment.
1 /* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 package org.mozilla.gecko.sqlite;
8 import java.io.IOException;
9 import java.io.InputStream;
10 import java.nio.ByteBuffer;
12 /*
13 * Helper class to make the ByteBuffers returned by SQLite BLOB
14 * easier to use.
15 */
16 public class ByteBufferInputStream extends InputStream {
17 private ByteBuffer mByteBuffer;
19 public ByteBufferInputStream(ByteBuffer aByteBuffer) {
20 mByteBuffer = aByteBuffer;
21 }
23 @Override
24 public synchronized int read() throws IOException {
25 if (!mByteBuffer.hasRemaining()) {
26 return -1;
27 }
28 return mByteBuffer.get();
29 }
31 @Override
32 public synchronized int read(byte[] aBytes, int aOffset, int aLen)
33 throws IOException {
34 int toRead = Math.min(aLen, mByteBuffer.remaining());
35 mByteBuffer.get(aBytes, aOffset, toRead);
36 return toRead;
37 }
38 }