comparison src/org/tmatesoft/hg/internal/FileAnnotation.java @ 562:6fbca6506bb5

Allow HgBlameFacility.Inspector (former BlockInspector) to throw an exception
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 28 Feb 2013 15:57:04 +0100
parents 52263817b998
children 8ed4f4f4f0a6
comparison
equal deleted inserted replaced
561:d3c71498919c 562:6fbca6506bb5
15 * contact TMate Software at support@hg4j.com 15 * contact TMate Software at support@hg4j.com
16 */ 16 */
17 package org.tmatesoft.hg.internal; 17 package org.tmatesoft.hg.internal;
18 18
19 19
20 import org.tmatesoft.hg.core.HgCallbackTargetException;
20 import org.tmatesoft.hg.core.HgIterateDirection; 21 import org.tmatesoft.hg.core.HgIterateDirection;
21 import org.tmatesoft.hg.repo.HgBlameFacility; 22 import org.tmatesoft.hg.repo.HgBlameFacility;
22 import org.tmatesoft.hg.repo.HgInvalidStateException; 23 import org.tmatesoft.hg.repo.HgInvalidStateException;
23 import org.tmatesoft.hg.repo.HgBlameFacility.AddBlock; 24 import org.tmatesoft.hg.repo.HgBlameFacility.AddBlock;
24 import org.tmatesoft.hg.repo.HgBlameFacility.BlockData; 25 import org.tmatesoft.hg.repo.HgBlameFacility.BlockData;
32 * Produce output like 'hg annotate' does 33 * Produce output like 'hg annotate' does
33 * 34 *
34 * @author Artem Tikhomirov 35 * @author Artem Tikhomirov
35 * @author TMate Software Ltd. 36 * @author TMate Software Ltd.
36 */ 37 */
37 public class FileAnnotation implements HgBlameFacility.BlockInspector, RevisionDescriptor.Recipient { 38 public class FileAnnotation implements HgBlameFacility.Inspector, RevisionDescriptor.Recipient {
38 39
39 @Experimental(reason="The line-by-line inspector likely to become part of core/command API") 40 @Experimental(reason="The line-by-line inspector likely to become part of core/command API")
40 @Callback 41 @Callback
41 public interface LineInspector { 42 public interface LineInspector {
42 /** 43 /**
50 } 51 }
51 52
52 /** 53 /**
53 * Annotate file revision, line by line. 54 * Annotate file revision, line by line.
54 */ 55 */
55 public static void annotate(HgDataFile df, int changelogRevisionIndex, LineInspector insp) { 56 public static void annotate(HgDataFile df, int changelogRevisionIndex, LineInspector insp) throws HgCallbackTargetException {
56 if (!df.exists()) { 57 if (!df.exists()) {
57 return; 58 return;
58 } 59 }
59 FileAnnotation fa = new FileAnnotation(insp); 60 FileAnnotation fa = new FileAnnotation(insp);
60 HgBlameFacility af = new HgBlameFacility(); 61 HgBlameFacility af = new HgBlameFacility();