javax.jcr
Interface Binary


public interface Binary

A Binary object holds a JCR property value of type BINARY. The Binary interface and the related methods in Property, Value and ValueFactory replace the deprecated Value.getStream() and Property.getStream() methods.

Since:
JCR 2.0

Method Summary
 void dispose()
          Releases all resources associated with this Binary object and informs the repository that these resources may now be reclaimed.
 long getSize()
          Returns the size of this Binary value in bytes.
 java.io.InputStream getStream()
          Returns an InputStream representation of this value.
 int read(byte[] b, long position)
          Reads successive bytes from the specified position in this Binary into the passed byte array until either the byte array is full or the end of the Binary is encountered.
 

Method Detail

getStream

java.io.InputStream getStream()
                              throws RepositoryException
Returns an InputStream representation of this value. Each call to getStream() returns a new stream. The API consumer is responsible for calling close() on the returned stream.

If dispose() has been called on this Binary object, then this method will throw the runtime exception IllegalStateException.

Returns:
A stream representation of this value.
Throws:
RepositoryException - if an error occurs.

read

int read(byte[] b,
         long position)
         throws java.io.IOException,
                RepositoryException
Reads successive bytes from the specified position in this Binary into the passed byte array until either the byte array is full or the end of the Binary is encountered.

If dispose() has been called on this Binary object, then this method will throw the runtime exception IllegalStateException.

Parameters:
b - the buffer into which the data is read.
position - the position in this Binary from which to start reading bytes.
Returns:
the number of bytes read into the buffer, or -1 if there is no more data because the end of the Binary has been reached.
Throws:
java.io.IOException - if an I/O error occurs.
java.lang.NullPointerException - if b is null.
java.lang.IllegalArgumentException - if offset is negative.
RepositoryException - if another error occurs.

getSize

long getSize()
             throws RepositoryException
Returns the size of this Binary value in bytes.

If dispose() has been called on this Binary object, then this method will throw the runtime exception IllegalStateException.

Returns:
the size of this value in bytes.
Throws:
RepositoryException - if an error occurs.

dispose

void dispose()
Releases all resources associated with this Binary object and informs the repository that these resources may now be reclaimed. An application should call this method when it is finished with the Binary object.