summaryrefslogtreecommitdiffstats
path: root/awt/javax/imageio/stream/ImageInputStream.java
diff options
context:
space:
mode:
Diffstat (limited to 'awt/javax/imageio/stream/ImageInputStream.java')
-rw-r--r--awt/javax/imageio/stream/ImageInputStream.java502
1 files changed, 502 insertions, 0 deletions
diff --git a/awt/javax/imageio/stream/ImageInputStream.java b/awt/javax/imageio/stream/ImageInputStream.java
new file mode 100644
index 0000000..3dec5d2
--- /dev/null
+++ b/awt/javax/imageio/stream/ImageInputStream.java
@@ -0,0 +1,502 @@
+/*
+ * 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
+ *
+ * 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.
+ */
+/**
+ * @author Rustem V. Rafikov
+ * @version $Revision: 1.2 $
+ */
+
+package javax.imageio.stream;
+
+import java.io.DataInput;
+import java.io.IOException;
+import java.nio.ByteOrder;
+
+/**
+ * The ImageInputStream represents input stream interface that is used by
+ * ImageReaders.
+ *
+ * @since Android 1.0
+ */
+public interface ImageInputStream extends DataInput {
+
+ /**
+ * Sets the specified byte order for reading of data values from this
+ * stream.
+ *
+ * @param byteOrder
+ * the byte order.
+ */
+ void setByteOrder(ByteOrder byteOrder);
+
+ /**
+ * Gets the byte order.
+ *
+ * @return the byte order.
+ */
+ ByteOrder getByteOrder();
+
+ /**
+ * Reads a byte from the stream.
+ *
+ * @return the byte of the stream, or -1 for EOF indicating.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int read() throws IOException;
+
+ /**
+ * Reads number of bytes which is equal to the specified array's length and
+ * stores a result to this array.
+ *
+ * @param b
+ * the byte array.
+ * @return the number of read bytes, or -1 indicated EOF.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int read(byte[] b) throws IOException;
+
+ /**
+ * Reads the number of bytes specified by len parameter from the stream and
+ * stores a result to the specified array with the specified offset.
+ *
+ * @param b
+ * the byte array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of bytes to be read.
+ * @return the number of read bytes, or -1 indicated EOF.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int read(byte[] b, int off, int len) throws IOException;
+
+ /**
+ * Reads the number of bytes specified by len parameter from the stream, and
+ * modifies the specified IIOByteBuffer with the byte array, offset, and
+ * length.
+ *
+ * @param buf
+ * the IIOByteBuffer.
+ * @param len
+ * the number of bytes to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readBytes(IIOByteBuffer buf, int len) throws IOException;
+
+ /**
+ * Reads a byte from the stream and returns a boolean true value if it is
+ * non zero, false if it is zero.
+ *
+ * @return the boolean value for read byte.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ boolean readBoolean() throws IOException;
+
+ /**
+ * Reads a byte from the stream and returns its value as signed byte.
+ *
+ * @return the signed byte value for read byte.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ byte readByte() throws IOException;
+
+ /**
+ * Reads a byte from the stream and returns its value as an integer.
+ *
+ * @return the unsigned byte value for read byte as an integer.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int readUnsignedByte() throws IOException;
+
+ /**
+ * Reads 2 bytes from the stream, and returns the result as a short.
+ *
+ * @return the signed short value from the stream.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ short readShort() throws IOException;
+
+ /**
+ * Reads 2 bytes from the stream and returns its value as an unsigned short.
+ *
+ * @return a unsigned short value coded in an integer.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int readUnsignedShort() throws IOException;
+
+ /**
+ * Reads 2 bytes from the stream and returns their unsigned char value.
+ *
+ * @return the unsigned char value.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ char readChar() throws IOException;
+
+ /**
+ * Reads 4 bytes from the stream, and returns the result as an integer.
+ *
+ * @return the signed integer value from the stream.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int readInt() throws IOException;
+
+ /**
+ * Reads 4 bytes from the stream and returns its value as long.
+ *
+ * @return the unsigned integer value as long.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ long readUnsignedInt() throws IOException;
+
+ /**
+ * Reads 8 bytes from the stream, and returns the result as a long.
+ *
+ * @return the long value from the stream.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ long readLong() throws IOException;
+
+ /**
+ * Reads 4 bytes from the stream, and returns the result as a float.
+ *
+ * @return the float value from the stream.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ float readFloat() throws IOException;
+
+ /**
+ * Reads 8 bytes from the stream, and returns the result as a double.
+ *
+ * @return the double value from the stream.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ double readDouble() throws IOException;
+
+ /**
+ * Reads a line from the stream.
+ *
+ * @return the string contained the line from the stream.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ String readLine() throws IOException;
+
+ /**
+ * Reads bytes from the stream in a string that has been encoded in a
+ * modified UTF-8 format.
+ *
+ * @return the string read from stream and modified UTF-8 format.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ String readUTF() throws IOException;
+
+ /**
+ * Reads the specified number of bytes from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
+ *
+ * @param b
+ * the byte array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of bytes to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readFully(byte[] b, int off, int len) throws IOException;
+
+ /**
+ * Reads number of bytes from the stream which is equal to the specified
+ * array's length, and stores them into this array.
+ *
+ * @param b
+ * the byte array.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readFully(byte[] b) throws IOException;
+
+ /**
+ * Reads the specified number of shorts from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
+ *
+ * @param s
+ * the short array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of shorts to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readFully(short[] s, int off, int len) throws IOException;
+
+ /**
+ * Reads the specified number of chars from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
+ *
+ * @param c
+ * the char array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of chars to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readFully(char[] c, int off, int len) throws IOException;
+
+ /**
+ * Reads the specified number of integer from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
+ *
+ * @param i
+ * the integer array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of integer to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readFully(int[] i, int off, int len) throws IOException;
+
+ /**
+ * Reads the specified number of longs from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
+ *
+ * @param l
+ * the long array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of longs to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readFully(long[] l, int off, int len) throws IOException;
+
+ /**
+ * Reads the specified number of floats from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
+ *
+ * @param f
+ * the float array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of floats to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readFully(float[] f, int off, int len) throws IOException;
+
+ /**
+ * Reads the specified number of doubles from the stream, and stores the
+ * result into the specified array starting at the specified index offset.
+ *
+ * @param d
+ * the double array.
+ * @param off
+ * the offset.
+ * @param len
+ * the number of doubles to be read.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void readFully(double[] d, int off, int len) throws IOException;
+
+ /**
+ * Gets the stream position.
+ *
+ * @return the stream position.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ long getStreamPosition() throws IOException;
+
+ /**
+ * Gets the bit offset.
+ *
+ * @return the bit offset.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int getBitOffset() throws IOException;
+
+ /**
+ * Sets the bit offset to an integer between 0 and 7.
+ *
+ * @param bitOffset
+ * the bit offset.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void setBitOffset(int bitOffset) throws IOException;
+
+ /**
+ * Reads a bit from the stream and returns the value 0 or 1.
+ *
+ * @return the value of single bit: 0 or 1.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int readBit() throws IOException;
+
+ /**
+ * Read the specified number of bits and returns their values as long.
+ *
+ * @param numBits
+ * the number of bits to be read.
+ * @return the bit string as a long.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ long readBits(int numBits) throws IOException;
+
+ /**
+ * Returns the length of the stream.
+ *
+ * @return the length of the stream, or -1 if unknown.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ long length() throws IOException;
+
+ /**
+ * Skips the specified number of bytes by moving stream position.
+ *
+ * @param n
+ * the number of bytes.
+ * @return the actual skipped number of bytes.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ int skipBytes(int n) throws IOException;
+
+ /**
+ * Skips the specified number of bytes by moving stream position.
+ *
+ * @param n
+ * the number of bytes.
+ * @return the actual skipped number of bytes.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ long skipBytes(long n) throws IOException;
+
+ /**
+ * Sets the current stream position to the specified location.
+ *
+ * @param pos
+ * a file pointer position.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void seek(long pos) throws IOException;
+
+ /**
+ * Marks a position in the stream to be returned to by a subsequent call to
+ * reset.
+ */
+ void mark();
+
+ /**
+ * Returns the file pointer to its previous position.
+ *
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void reset() throws IOException;
+
+ /**
+ * Flushes the initial position in this stream prior to the specified stream
+ * position.
+ *
+ * @param pos
+ * the position.
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void flushBefore(long pos) throws IOException;
+
+ /**
+ * Flushes the initial position in this stream prior to the current stream
+ * position.
+ *
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void flush() throws IOException;
+
+ /**
+ * Gets the flushed position.
+ *
+ * @return the flushed position.
+ */
+ long getFlushedPosition();
+
+ /**
+ * Returns true if this ImageInputStream caches data in order to allow
+ * seeking backwards.
+ *
+ * @return true, if this ImageInputStream caches data in order to allow
+ * seeking backwards, false otherwise.
+ */
+ boolean isCached();
+
+ /**
+ * Returns true if this ImageInputStream caches data in order to allow
+ * seeking backwards, and keeps it in memory.
+ *
+ * @return true, if this ImageInputStream caches data in order to allow
+ * seeking backwards, and keeps it in memory.
+ */
+ boolean isCachedMemory();
+
+ /**
+ * Returns true if this ImageInputStream caches data in order to allow
+ * seeking backwards, and keeps it in a temporary file.
+ *
+ * @return true, if this ImageInputStream caches data in order to allow
+ * seeking backwards, and keeps it in a temporary file.
+ */
+ boolean isCachedFile();
+
+ /**
+ * Closes this stream.
+ *
+ * @throws IOException
+ * if an I/O exception has occurred.
+ */
+ void close() throws IOException;
+}