SVNKit Home

## org.tmatesoft.svn.core
Class SVNAnnotationGenerator

    java.lang.Object
      org.tmatesoft.svn.core.SVNAnnotationGenerator

All Implemented Interfaces:
  ISVNDeltaConsumer, ISVNFileRevisionHandler

public class SVNAnnotationGenerator
extends Object
implements 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();
         }
     ...

Version:
  1.1.1
Author:
  TMate Software Ltd.

Constructor Summary
`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
`void` `applyTextDelta(String token, String baseChecksum)` Starts applying text delta(s) to an opened file.
`void` `closeRevision(String token)` Does nothing.
`void` `dispose()` Finalizes an annotation operation releasing resources involved by this generator.
`void` `openRevision(SVNFileRevision fileRevision)` Handles a file revision info.
`void` `reportAnnotations(ISVNAnnotateHandler handler, String inputEncoding)` Dispatches file lines along with author & revision info to the provided annotation handler.
`OutputStream` `textDeltaChunk(String token, SVNDiffWindow diffWindow)` Collects a next delta chunk.
`void` `textDeltaEnd(String token)` Finalizes collecting text delta(s).

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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 at
  `startRevision` - a start revision to begin annotation with
  `cancelBaton` - 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.

Parameters:
  `path` - a file path (relative to a repository location)
  `tmpDirectory` - a revision to stop at
  `startRevision` - a start revision to begin annotation with
  `force` - forces binary files processing
  `cancelBaton` - 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.

Parameters:
  `path` - a file path (relative to a repository location)
  `tmpDirectory` - a revision to stop at
  `startRevision` - a start revision to begin annotation with
  `force` - forces binary files processing
  `diffOptions` - diff options
  `cancelBaton` - a baton which is used to check if an operation is cancelled

Method Detail

### openRevision

    public void openRevision(SVNFileRevision fileRevision)
                      throws SVNException

  Description copied from interface: `ISVNFileRevisionHandler`
  Handles a file revision info.

  Specified by:
    `openRevision` in interface `ISVNFileRevisionHandler`
  Parameters:
    `fileRevision` -
  Throws:
    `SVNException` - if one of the following occurs:
    - the file is binary (not text)
    - operation is cancelled
  See Also:
    `SVNFileRevision`

### closeRevision

    public void closeRevision(String token)
                       throws SVNException

  Does nothing.

  Specified by:
    `closeRevision` in interface `ISVNFileRevisionHandler`
  Parameters:
    `token` -
  Throws:
    `SVNException`

### applyTextDelta

    public void applyTextDelta(String token,
                               String baseChecksum)
                        throws SVNException

  Description copied from interface: `ISVNDeltaConsumer`
  Starts applying text delta(s) to an opened file.

  Specified by:
    `applyTextDelta` in interface `ISVNDeltaConsumer`
  Parameters:
    `token` - a file path relative to the edit root directory
    `baseChecksum` - an MD5 checksum for the base file contents (before the file is changed)
  Throws:
    `SVNException` - if the calculated base file checksum didn't match the expected `baseChecksum`

### textDeltaChunk

    public OutputStream textDeltaChunk(String token,
                                       SVNDiffWindow diffWindow)
                                throws SVNException

  Description copied from interface: `ISVNDeltaConsumer`
  Collects a next delta chunk. The return type is nomore relevant and is left only for backward compatibility. So, the return value may be just null. Otherwise if it's not null, the stream will be immediately closed.

  If there are more than one windows for the file, this method is called several times.

  Specified by:
    `textDeltaChunk` in interface `ISVNDeltaConsumer`
  Parameters:
    `token` - a file path relative to the edit root directory
    `diffWindow` - a next diff window
  Returns:
    an output stream
  Throws:
    `SVNException`

### textDeltaEnd

    public void textDeltaEnd(String token)
                      throws SVNException

  Description copied from interface: `ISVNDeltaConsumer`
  Finalizes collecting text delta(s).

  Specified by:
    `textDeltaEnd` in interface `ISVNDeltaConsumer`
  Parameters:
    `token` - a file path relative to the edit root directory
  Throws:
    `SVNException`

### reportAnnotations

    public void reportAnnotations(ISVNAnnotateHandler handler,
                                  String inputEncoding)
                           throws SVNException

  Dispatches file lines along with author & revision info to the provided annotation handler.

  If `inputEncoding` is null then "file.encoding" system property is used.

  Parameters:
    `handler` - an annotation handler that processes file lines with author & revision info
    `inputEncoding` - 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 after `reportAnnotations()`.

SVNKit Home

Copyright © 2004-2008 TMate Software Ltd. All Rights Reserved.