Mercurial > hg4j
diff src/org/tmatesoft/hg/core/HgCallbackTargetException.java @ 275:6d1804fe0ed7
Issue 10: Report file content length with respect of metadata. Respect dirstate parents for WC's status. Exceptions to keep useful attributes of the location
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Thu, 25 Aug 2011 21:35:03 +0200 |
parents | c251bbc979cf |
children | 678e326fd27c |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/core/HgCallbackTargetException.java Thu Aug 25 03:57:39 2011 +0200 +++ b/src/org/tmatesoft/hg/core/HgCallbackTargetException.java Thu Aug 25 21:35:03 2011 +0200 @@ -16,10 +16,9 @@ */ package org.tmatesoft.hg.core; -import static org.tmatesoft.hg.repo.HgRepository.BAD_REVISION; +import org.tmatesoft.hg.util.Path; -import org.tmatesoft.hg.repo.HgRepository; -import org.tmatesoft.hg.util.Path; + /** * Checked exception that indicates errors in client code and tries to supply extra information about the context it occured in. @@ -29,10 +28,6 @@ */ @SuppressWarnings("serial") public class HgCallbackTargetException extends HgException { - private int revNumber = BAD_REVISION; - private Nodeid revision; - private Path filename; - /** * @param cause can't be <code>null</code> */ @@ -49,42 +44,6 @@ } } - /** - * @return not {@link HgRepository#BAD_REVISION} only when local revision number was supplied at the construction time - */ - public int getRevisionNumber() { - return revNumber; - } - - public HgCallbackTargetException setRevisionNumber(int rev) { - revNumber = rev; - return this; - } - - /** - * @return non-null only when revision was supplied at construction time - */ - public Nodeid getRevision() { - return revision; - } - - public HgCallbackTargetException setRevision(Nodeid r) { - revision = r; - return this; - } - - /** - * @return non-null only if file name was set at construction time - */ - public Path getFileName() { - return filename; - } - - public HgCallbackTargetException setFileName(Path name) { - filename = name; - return this; - } - @SuppressWarnings("unchecked") public <T extends Exception> T getTargetException() { return (T) getCause(); @@ -97,23 +56,23 @@ @Override public String getMessage() { StringBuilder sb = new StringBuilder(); - if (filename != null) { - sb.append(filename); - sb.append(':'); - sb.append(' '); - } - if (revNumber != BAD_REVISION) { - sb.append(revNumber); - if (revision != null) { - sb.append(':'); - } - } - if (revision != null) { - sb.append(revision.shortNotation()); - } + appendDetails(sb); return sb.toString(); } + @Override + public HgCallbackTargetException setRevision(Nodeid r) { + return (HgCallbackTargetException) super.setRevision(r); + } + @Override + public HgCallbackTargetException setRevisionNumber(int rev) { + return (HgCallbackTargetException) super.setRevisionNumber(rev); + } + @Override + public HgCallbackTargetException setFileName(Path name) { + return (HgCallbackTargetException) super.setFileName(name); + } + /** * Given the approach high-level handlers throw RuntimeExceptions to indicate errors, and * a need to throw reasonable checked exception from client code, clients may utilize this class