org.soyatec.windowsazure.blob.io
Interface BlobStream

All Known Implementing Classes:
BlobFileStream, BlobMemoryStream

public interface BlobStream

This interface is the superclass of all classes representing a stream of bytes.

Applications that need to define a subclass of Stream must always provide implementation of these abstract methods.


Method Summary
 boolean canSeek()
          Indicates whether this stream can be seeked.
 void close()
          Close this stream.
 byte[] getBytes()
          Gets the byte array of data that is stored in the stream.
 long getPosition()
          Gets the current position of this stream.
 long length()
          Gets the length of this stream.
 int read(byte[] buffer)
          Reads some number of bytes from the stream and stores them into the buffer array b.
 int read(byte[] buffer, int offset, int len)
          Reads up to len bytes of data from the stream into an array of bytes.
 void setPosition(long position)
          Sets the current position of this stream.
 void write(byte[] buffer, int offset, int len)
          Writes len bytes from the specified byte array starting at offset off to this stream.
 

Method Detail

canSeek

boolean canSeek()
Indicates whether this stream can be seeked.

Returns:
true/false

length

long length()
            throws java.io.IOException
Gets the length of this stream.

Returns:
the length of this stream.
Throws:
java.io.IOException

close

void close()
           throws java.io.IOException
Close this stream.

Throws:
java.io.IOException

getPosition

long getPosition()
                 throws java.io.IOException
Gets the current position of this stream.

Returns:
current position of this stream.
Throws:
java.io.IOException

setPosition

void setPosition(long position)
                 throws java.io.IOException
Sets the current position of this stream.

Parameters:
position - the current position of this stream.
Throws:
java.io.IOException

read

int read(byte[] buffer)
         throws java.io.IOException
Reads some number of bytes from the stream and stores them into the buffer array b.

Parameters:
buffer - the buffer into which the data is read.
Returns:
the total number of bytes read into the buffer, or -1 is there is no more data because the end of the stream has been reached.
Throws:
java.io.IOException

read

int read(byte[] buffer,
         int offset,
         int len)
         throws java.io.IOException
Reads up to len bytes of data from the stream into an array of bytes. An attempt is made to read as many as len bytes, but a smaller number may be read. The number of bytes actually read is returned as an integer.

Parameters:
buffer - the buffer into which the data is read.
offset - the start offset in array b at which the data is written.
len - the maximum number of bytes to read.
Returns:
the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
Throws:
java.io.IOException

write

void write(byte[] buffer,
           int offset,
           int len)
           throws java.io.IOException
Writes len bytes from the specified byte array starting at offset off to this stream. The general contract for write(b, off, len) is that some of the bytes in the array b are written to the stream in order; element b[off] is the first byte written and b[off+len-1] is the last byte written by this operation.

Parameters:
buffer - the data.
offset - the start offset in the data.
len - the number of bytes to write.
Throws:
java.io.IOException

getBytes

byte[] getBytes()
                throws java.io.IOException
Gets the byte array of data that is stored in the stream.

Returns:
byte array of data that is stored in the stream.
Throws:
java.io.IOException