Package org.tmatesoft.svn.core.wc
Interface ISVNAnnotateHandler
- All Known Implementing Classes:
SVNBlameCommand
,SvnOldAnnotate
,SvnRemoteAnnotate
,SVNXMLAnnotateHandler
public interface ISVNAnnotateHandler
The ISVNAnnotateHandler interface should be implemented to be further
provided to SVNLogClient's doAnnotate() methods for processing
annotation information per each text line.
Here's an example code snippet:
import org.tmatesoft.svn.core.wc.ISVNAnnotateHandler; import org.tmatesoft.svn.core.wc.SVNLogClient; ... SVNLogClient logClient; ... logClient.doAnnotate(new File("path/to/WC/file"), SVNRevision.HEAD, SVNRevision.create(0), SVNRevision.HEAD, new ISVNAnnotateHandler(){ public void handleLine(Date date, long revision, String author, String line){ //implement this method as you wish, for example: System.out.println(revision + " " + author + " " + date + " " + line); } }); ...
- Since:
- 1.2
- Version:
- 1.3
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Handles the EOF met after the document contents.void
handleLine
(Date date, long revision, String author, String line) Deprecated.void
handleLine
(Date date, long revision, String author, String line, Date mergedDate, long mergedRevision, String mergedAuthor, String mergedPath, int lineNumber) Handles per line annotation information - that is information about who last committed (changed) this line, the revision and timestamp when it was last committed.boolean
handleRevision
(Date date, long revision, String author, File contents) Handles file information for a next revision.
-
Method Details
-
handleLine
Deprecated.- Parameters:
date
-revision
-author
-line
-- Throws:
SVNException
-
handleLine
void handleLine(Date date, long revision, String author, String line, Date mergedDate, long mergedRevision, String mergedAuthor, String mergedPath, int lineNumber) throws SVNException Handles per line annotation information - that is information about who last committed (changed) this line, the revision and timestamp when it was last committed. ParametersmergedDate
,mergedRevision
,mergedAuthor
andmergedPath
will be set only if the corresponding methoddoAnnotate
ofSVNLogClient
was called withincludeMergedRevisions
set to true. Otherwise they are irrelevant. Note: if there is no blame information for this line,revision
will be invalid andauthor
anddate
will be null.- Parameters:
date
- the time moment when changes toline
were committed to the repositoryrevision
- the revision the changes were committed toauthor
- the person who did those changesline
- a text line of the target file (on whichdoAnnotate()
was invoked)mergedDate
- date when merge changes occurredmergedRevision
- revision in which merge changes occurredmergedAuthor
- author of mergemergedPath
- absolute repository path of the merged filelineNumber
- number of the file line for which this information is annotated- Throws:
SVNException
-
handleRevision
Handles file information for a next revision. If this method returns true then file contents will be annotated forrevision
as well.- Parameters:
date
- the time moment when changes toline
were committed to the repositoryrevision
- the revision the changes were committed toauthor
- the person who did those changescontents
- temporary file with contents. This file shouldn't be used as persistent reference as it will be overwritten after this method exits and eventually deleted.- Returns:
- true to annotate the file for
revision
- Throws:
SVNException
-
handleEOF
Handles the EOF met after the document contents.- Throws:
SVNException
- Since:
- 1.2.0
-
handleLine(Date, long, String, String, Date, long, String, String, int)
instead