package org.tmatesoft.svn.core.internal.wc2.admin;
import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.wc.admin.SVNLookClient;
import org.tmatesoft.svn.core.wc2.admin.SvnRepositoryCat;
/**
* Fetches file contents for the specified <code>target</code> in the given
* transaction. <code>path</code> must be absolute, that is it
* must start with <code>'/'</code>. The provided output stream
* is not closed within this method.
*
* @param repositoryRoot a repository root directory path
* @param path an absolute file path
* @param transactionName a transaction name
* @param out an output stream to write contents to
* @throws SVNException <ul>
* <li>no repository is found at
* <code>repositoryRoot</code>
* </li>
* <li>if <code>path</code> is not found or
* is not a file
* </li>
* <li>if the specified transaction is not found
* </li>
* </ul>
*/
public class SvnRepositoryCatImpl extends SvnRepositoryOperationRunner<Long, SvnRepositoryCat> {
@Override
protected Long run() throws SVNException {
SVNLookClient lc = new SVNLookClient(getOperation().getAuthenticationManager(), getOperation().getOptions());
lc.setEventHandler(this);
lc.doCat(getOperation().getRepositoryRoot(), getOperation().getPath(), getOperation().getTransactionName(), getOperation().getOutputStream());
return 1l;
}
}