Mercurial > hg4j
comparison src/org/tmatesoft/hg/core/HgManifestCommand.java @ 148:1a7a9a20e1f9
Exceptions, javadoc. Initial cancel and progress support
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Wed, 23 Feb 2011 22:36:28 +0100 |
| parents | b9700740553a |
| children | 41a778e3fd31 |
comparison
equal
deleted
inserted
replaced
| 147:a05145db4d0c | 148:1a7a9a20e1f9 |
|---|---|
| 51 | 51 |
| 52 public HgManifestCommand(HgRepository hgRepo) { | 52 public HgManifestCommand(HgRepository hgRepo) { |
| 53 repo = hgRepo; | 53 repo = hgRepo; |
| 54 } | 54 } |
| 55 | 55 |
| 56 /** | |
| 57 * Parameterize command to visit revisions <code>[rev1..rev2]</code>. | |
| 58 * @param rev1 - local revision number to start from. Non-negative. May be {@link HgRepository#TIP} (rev2 argument shall be {@link HgRepository#TIP} as well, then) | |
| 59 * @param rev2 - local revision number to end with, inclusive. Non-negative, greater or equal to rev1. May be {@link HgRepository#TIP}. | |
| 60 * @return <code>this</code> for convenience. | |
| 61 * @throws IllegalArgumentException if revision arguments are incorrect (see above). | |
| 62 */ | |
| 56 public HgManifestCommand range(int rev1, int rev2) { | 63 public HgManifestCommand range(int rev1, int rev2) { |
| 57 // XXX if manifest range is different from that of changelog, need conversion utils (external?) | 64 // XXX if manifest range is different from that of changelog, need conversion utils (external?) |
| 58 boolean badArgs = rev1 == BAD_REVISION || rev2 == BAD_REVISION || rev1 == WORKING_COPY || rev2 == WORKING_COPY; | 65 boolean badArgs = rev1 == BAD_REVISION || rev2 == BAD_REVISION || rev1 == WORKING_COPY || rev2 == WORKING_COPY; |
| 59 badArgs |= rev2 != TIP && rev2 < rev1; // range(3, 1); | 66 badArgs |= rev2 != TIP && rev2 < rev1; // range(3, 1); |
| 60 badArgs |= rev1 == TIP && rev2 != TIP; // range(TIP, 2), although this may be legitimate when TIP points to 2 | 67 badArgs |= rev1 == TIP && rev2 != TIP; // range(TIP, 2), although this may be legitimate when TIP points to 2 |
| 86 public HgManifestCommand match(Path.Matcher pathMatcher) { | 93 public HgManifestCommand match(Path.Matcher pathMatcher) { |
| 87 matcher = pathMatcher; | 94 matcher = pathMatcher; |
| 88 return this; | 95 return this; |
| 89 } | 96 } |
| 90 | 97 |
| 98 /** | |
| 99 * Runs the command. | |
| 100 * @param handler - callback to get the outcome | |
| 101 * @throws IllegalArgumentException if handler is <code>null</code> | |
| 102 * @throws ConcurrentModificationException if this command is already in use (running) | |
| 103 */ | |
| 91 public void execute(Handler handler) { | 104 public void execute(Handler handler) { |
| 92 if (handler == null) { | 105 if (handler == null) { |
| 93 throw new IllegalArgumentException(); | 106 throw new IllegalArgumentException(); |
| 94 } | 107 } |
| 95 if (visitor != null) { | 108 if (visitor != null) { |
