View Javadoc

1   package net.sf.statsvn.util;
2   
3   import java.io.IOException;
4   import java.util.Vector;
5   
6   /**
7    * Performs svn diff queries. 
8    * @author jkealey
9    *
10   */
11  public interface ISvnDiffProcessor {
12  
13      /**
14       * Returns line count differences between two revisions of a file.
15       * 
16       * @param oldRevNr
17       *            old revision number
18       * @param newRevNr
19       *            new revision number
20       * @param filename
21       *            the filename
22       * @return A int[2] array of [lines added, lines removed] is returned.
23       * @throws IOException
24       *             problem parsing the stream
25       * @throws BinaryDiffException
26       *             if the error message is due to trying to diff binary files.
27       */
28      public abstract int[] getLineDiff(final String oldRevNr, final String newRevNr, final String filename) throws IOException, BinaryDiffException;
29  
30      /**
31      * Returns line count differences for all files in a particular revision.
32      * 
33      * @param newRevNr
34      *            new revision number
35      * @return A vector of object[3] array of [filename, int[2](lines added, lines removed), isBinary] is returned.
36      * @throws IOException
37      *             problem parsing the stream
38      * @throws BinaryDiffException
39      *             if the error message is due to trying to diff binary files.
40      */
41      public abstract Vector getLineDiff(final String newRevNr) throws IOException, BinaryDiffException;
42  
43  }