Package org.tmatesoft.svn.core
Class SVNAnnotationGenerator
java.lang.Object
org.tmatesoft.svn.core.SVNAnnotationGenerator
- All Implemented Interfaces:
ISVNDeltaConsumer,ISVNFileRevisionHandler
The SVNAnnotationGenerator class is used to annotate files - that is
to place author and revision information in-line for the specified
file.
Since SVNAnnotationGenerator implements ISVNFileRevisionHandler,
it is merely passed to a getFileRevisions()
method of SVNRepository. After that you handle the resultant annotated
file line-by-line providing an ISVNAnnotateHandler implementation to the reportAnnotations()
method:
import org.tmatesoft.svn.core.SVNAnnotationGenerator; import org.tmatesoft.svn.core.io.SVNRepositoryFactory; import org.tmatesoft.svn.core.io.SVNRepository; import org.tmatesoft.svn.core.wc.SVNAnnotateHandler; ... File tmpFile; SVNRepository repos; ISVNAnnotateHandler annotateHandler; ISVNEventHandler cancelHandler; long startRev = 0; long endRev = 150; ... SVNAnnotationGenerator generator = new SVNAnnotationGenerator(path, tmpFile, cancelHandler); try { repos.getFileRevisions("", startRev, endRev, generator); generator.reportAnnotations(annotateHandler, null); } finally { generator.dispose(); } ...
- Since:
- 1.2
- Version:
- 1.3
- Author:
- TMate Software Ltd.
-
Constructor Summary
ConstructorsConstructorDescriptionSVNAnnotationGenerator(String path, File tmpDirectory, long startRevision, boolean force, boolean includeMergedRevisions, SVNDiffOptions diffOptions, String encoding, ISVNAnnotateHandler handler, ISVNEventHandler cancelBaton) Constructs an annotation generator object.SVNAnnotationGenerator(String path, File tmpDirectory, long startRevision, boolean force, ISVNEventHandler cancelBaton) Constructs an annotation generator object.SVNAnnotationGenerator(String path, File tmpDirectory, long startRevision, boolean force, SVNDiffOptions diffOptions, ISVNEventHandler cancelBaton) Constructs an annotation generator object.SVNAnnotationGenerator(String path, File tmpDirectory, long startRevision, ISVNEventHandler cancelBaton) Constructs an annotation generator object. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddFileBlame(InputStream contents) voidapplyTextDelta(String token, String baseChecksum) Creates a temporary file for delta application.voidcloseRevision(String token) Does nothing.voiddispose()Finalizes an annotation operation releasing resources involved by this generator.booleanThis method is used bySVNKitinternals and is not intended for API users.voidopenRevision(SVNFileRevision fileRevision) Handles a next revision.voidreportAnnotations(ISVNAnnotateHandler handler, String inputEncoding) Dispatches file lines along with author & revision info to the provided annotation handler.voidsetBackwards(boolean backwards) voidsetEndRevision(long revision) textDeltaChunk(String token, SVNDiffWindow diffWindow) Applies a next text delta chunk.voidtextDeltaEnd(String token) Marks the end of the text delta series.
-
Constructor Details
-
SVNAnnotationGenerator
public SVNAnnotationGenerator(String path, File tmpDirectory, long startRevision, ISVNEventHandler cancelBaton) Constructs an annotation generator object.This constructor is equivalent to
SVNAnnotationGenerator(path, tmpDirectory, startRevision, false, cancelBaton).- Parameters:
path- a file path (relative to a repository location)tmpDirectory- a revision to stop atstartRevision- a start revision to begin annotation withcancelBaton- a baton which is used to check if an operation is cancelled
-
SVNAnnotationGenerator
public SVNAnnotationGenerator(String path, File tmpDirectory, long startRevision, boolean force, ISVNEventHandler cancelBaton) Constructs an annotation generator object. This constructor is identical toSVNAnnotationGenerator(path, tmpDirectory, startRevision, force, new SVNDiffOptions(), cancelBaton).- Parameters:
path- a file path (relative to a repository location)tmpDirectory- a revision to stop atstartRevision- a start revision to begin annotation withforce- forces binary files processingcancelBaton- a baton which is used to check if an operation is cancelled
-
SVNAnnotationGenerator
public SVNAnnotationGenerator(String path, File tmpDirectory, long startRevision, boolean force, SVNDiffOptions diffOptions, ISVNEventHandler cancelBaton) Constructs an annotation generator object. This constructor is identical toSVNAnnotationGenerator(path, tmpDirectory, startRevision, force, false, diffOptions, null, null, cancelBaton).- Parameters:
path- a file path (relative to a repository location)tmpDirectory- a revision to stop atstartRevision- a start revision to begin annotation withforce- forces binary files processingdiffOptions- diff optionscancelBaton- a baton which is used to check if an operation is cancelled
-
SVNAnnotationGenerator
public SVNAnnotationGenerator(String path, File tmpDirectory, long startRevision, boolean force, boolean includeMergedRevisions, SVNDiffOptions diffOptions, String encoding, ISVNAnnotateHandler handler, ISVNEventHandler cancelBaton) Constructs an annotation generator object.- Parameters:
path- a file path (relative to a repository location) or URL-encoded URLtmpDirectory- a revision to stop atstartRevision- a start revision to begin annotation withforce- forces binary files processingincludeMergedRevisions- whether to include merged revisions or notdiffOptions- diff optionsencoding- charset name to use to encode annotation resulthandler- caller's annotation handler implementationcancelBaton- a baton which is used to check if an operation is cancelled- Since:
- 1.2.0
-
-
Method Details
-
setBackwards
public void setBackwards(boolean backwards) -
setEndRevision
public void setEndRevision(long revision) -
openRevision
Handles a next revision.- Specified by:
openRevisionin interfaceISVNFileRevisionHandler- Parameters:
fileRevision-- Throws:
SVNException- if one of the following occurs:- exception with
SVNErrorCode.CLIENT_IS_BINARY_FILEerror code - if the file is binary and no forcing is specified - operation is cancelled
- exception with
- See Also:
-
closeRevision
Does nothing.- Specified by:
closeRevisionin interfaceISVNFileRevisionHandler- Parameters:
token-- Throws:
SVNException
-
applyTextDelta
Creates a temporary file for delta application.- Specified by:
applyTextDeltain interfaceISVNDeltaConsumer- Parameters:
token- not used in this methodbaseChecksum- not used in this method- Throws:
SVNException
-
textDeltaChunk
Applies a next text delta chunk.- Specified by:
textDeltaChunkin interfaceISVNDeltaConsumer- Parameters:
token- not used in this methoddiffWindow- next diff window- Returns:
- dummy output stream
- Throws:
SVNException
-
textDeltaEnd
Marks the end of the text delta series.- Specified by:
textDeltaEndin interfaceISVNDeltaConsumer- Parameters:
token- not used in this method- Throws:
SVNException
-
addFileBlame
- Throws:
SVNException
-
isLastRevisionReported
public boolean isLastRevisionReported()This method is used bySVNKitinternals and is not intended for API users.- Returns:
- whether the last revision was reported or not yet
- Since:
- 1.2.0
-
reportAnnotations
public void reportAnnotations(ISVNAnnotateHandler handler, String inputEncoding) throws SVNException Dispatches file lines along with author & revision info to the provided annotation handler.If
inputEncodingis null then "file.encoding" system property is used.- Parameters:
handler- an annotation handler that processes file lines with author & revision infoinputEncoding- a desired character set (encoding) of text lines- Throws:
SVNException
-
dispose
public void dispose()Finalizes an annotation operation releasing resources involved by this generator. Should be called afterreportAnnotations().
-