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