diff options
Diffstat (limited to 'javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java')
-rw-r--r-- | javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java b/javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java deleted file mode 100644 index 2d3e9a8480b7..000000000000 --- a/javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you 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 . - */ -package com.sun.star.lib.uno.adapter; - -import com.sun.star.io.XInputStream; -import com.sun.star.io.XSeekable; -import com.sun.star.lib.uno.helper.ComponentBase; - -public final class ByteArrayToXInputStreamAdapter - extends ComponentBase - implements XInputStream, XSeekable -{ - - byte[] m_bytes; - int m_length; - int m_pos; - - boolean m_open; - - /** Creates a new instance of ByteArrayXInputStram */ - public ByteArrayToXInputStreamAdapter(byte[] bytes) { - init(bytes); - } - - public void init(byte[] bytes) { - m_bytes = bytes; - m_length = bytes.length; - m_pos = 0; - m_open = true; - } - - private void _check() throws com.sun.star.io.NotConnectedException, com.sun.star.io.IOException { - if (m_bytes == null) { - throw new com.sun.star.io.NotConnectedException("no bytes"); - } - if(!m_open) { - throw new com.sun.star.io.IOException("input closed"); - } - } - - public int available() throws com.sun.star.io.NotConnectedException, com.sun.star.io.IOException { - _check(); - long a = m_length - m_pos; - if (a != (int)a) - throw new com.sun.star.io.IOException("integer overflow"); - else { - return (int)a; - } - } - - public void closeInput() throws com.sun.star.io.NotConnectedException, com.sun.star.io.IOException { - _check(); - m_open = false; - } - - public int readBytes(byte[][] values, int param) throws com.sun.star.io.NotConnectedException, com.sun.star.io.BufferSizeExceededException, com.sun.star.io.IOException { - _check(); - try { - int remain = (m_length - m_pos); - if (param > remain) param = remain; - /* ARGH!!! */ - if (values[0] == null){ - values[0] = new byte[param]; - } - System.arraycopy(m_bytes, m_pos, values[0], 0, param); - m_pos += param; - return param; - } catch (ArrayIndexOutOfBoundsException ex) { - throw new com.sun.star.io.BufferSizeExceededException(ex, "buffer overflow"); - } catch (Exception ex) { - throw new com.sun.star.io.IOException(ex, "error accessing buffer"); - } - } - - public int readSomeBytes(byte[][] values, int param) throws com.sun.star.io.NotConnectedException, com.sun.star.io.BufferSizeExceededException, com.sun.star.io.IOException { - return readBytes(values, param); - } - - public void skipBytes(int param) throws com.sun.star.io.NotConnectedException, com.sun.star.io.BufferSizeExceededException, com.sun.star.io.IOException { - _check(); - if (param > (m_length - m_pos)) - throw new com.sun.star.io.BufferSizeExceededException("buffer overflow"); - m_pos += param; - } - - public long getLength() throws com.sun.star.io.IOException { - if (m_bytes != null) return m_length; - else throw new com.sun.star.io.IOException("no bytes"); - } - - public long getPosition() throws com.sun.star.io.IOException { - if (m_bytes != null) return m_pos; - else throw new com.sun.star.io.IOException("no bytes"); - } - - public void seek(long param) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.io.IOException { - if (m_bytes != null){ - if (param < 0 || param > m_length) throw new com.sun.star.lang.IllegalArgumentException("invalid seek position"); - else m_pos = (int)param; - }else throw new com.sun.star.io.IOException("no bytes"); - } -} |