01: /*
02: * ====================================================================
03: * Copyright (c) 2004-2008 TMate Software Ltd. All rights reserved.
04: *
05: * This software is licensed as described in the file COPYING, which
06: * you should have received as part of this distribution. The terms
07: * are also available at http://svnkit.com/license.html
08: * If newer versions of this license are posted there, you may use a
09: * newer version instead, at your option.
10: * ====================================================================
11: */
12:
13: package org.tmatesoft.svn.core.io;
14:
15: import org.tmatesoft.svn.core.SVNException;
16:
17: /**
18: * The <b>ISVNFileRevisionHandler</b> interface should be implemented for handling
19: * information about file revisions - that is file path, properties, revision properties
20: * against a particular revision.
21: *
22: * <p>
23: * This interface is provided to a
24: * {@link SVNRepository#getFileRevisions(String, long, long, ISVNFileRevisionHandler) getFileRevisions()}
25: * method of <b>SVNRepository</b> when getting file revisions (in particular, when annotating).
26: *
27: * @version 1.1.1
28: * @author TMate Software Ltd.
29: * @see SVNRepository
30: * @see org.tmatesoft.svn.core.SVNAnnotationGenerator
31: */
32: public interface ISVNFileRevisionHandler extends ISVNDeltaConsumer {
33:
34: /**
35: * Handles a file revision info.
36: *
37: * @param fileRevision a <b>SVNFileRevision</b> object representing file
38: * revision information
39: * @throws SVNException
40: * @see SVNFileRevision
41: */
42: public void openRevision(SVNFileRevision fileRevision)
43: throws SVNException;
44:
45: /**
46: * Performs final handling for the processed file revision (when all
47: * deltas are applied and fulltext is got).
48: *
49: * @param token a file token (name or path)
50: * @throws SVNException
51: */
52: public void closeRevision(String token) throws SVNException;
53:
54: }
|