Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNOutputStream.java view on Meta::CPAN
Inputer myInputer;
/**
* Creates a SVNOutputStream so that it is connected with an internal
* PipedInputStream
* @throws IOException
*/
public SVNOutputStream() throws IOException
{
myInputer = new Inputer(this);
}
/**
* Closes this piped output stream and releases any system resources
* associated with this stream. This stream may no longer be used for
* writing bytes.
*
* @throws IOException if an I/O error occurs.
*/
public void close() throws IOException
{
myInputer.closed = true;
super.close();
}
/**
* Get the Interface to connect to SVNAdmin
* @return the connection interface
*/
public InputInterface getInputer()
{
return myInputer;
}
/**
* this class implements the connection to SVNAdmin
*/
public class Inputer implements InputInterface
{
/**
* my side of the pipe
*/
PipedInputStream myStream;
/**
* flag that the other side of the pipe has been closed
*/
boolean closed;
/**
* build a new connection object
* @param myMaster the other side of the pipe
* @throws IOException
*/
Inputer(SVNOutputStream myMaster) throws IOException
{
myStream = new PipedInputStream(myMaster);
}
/**
* read the number of data.length bytes from input.
* @param data array to store the read bytes.
* @throws IOException throw in case of problems.
*/
public int read(byte[] data) throws IOException
{
if (closed)
throw new IOException("stream has been closed");
return myStream.read();
}
/**
* close the input
* @throws IOException throw in case of problems.
*/
public void close() throws IOException
{
myStream.close();
}
}
}
( run in 0.523 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )