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 }