Mercurial > jhg
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(); |