diff design.txt @ 427:31a89587eb04

FIXMEs: consistent names, throws for commands and their handlers. Use of checked exceptions in hi-level api
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Thu, 29 Mar 2012 17:14:35 +0200
parents 0ae53c32ecef
children
line wrap: on
line diff
--- a/design.txt	Wed Mar 28 19:34:37 2012 +0200
+++ b/design.txt	Thu Mar 29 17:14:35 2012 +0200
@@ -139,4 +139,10 @@
 Unfortunately, Revision would be a nice name for a class <int, Nodeid>. As long as I don't want to keep methods to access int/nodeid separately
 and not to stick to Revision struct only (to avoid massive instances of Revision<int,Nodeid> when only one is sufficient), I'll need to name
 these separate methods anyway. Present opinion is that I don't need the object right now (will have to live with RevisionObject or RevisionDescriptor
-once change my mind) 
\ No newline at end of file
+once change my mind) 
+
+Handlers (HgStatusHandler, HgManifestHandler, HgChangesetHandler, HgChangesetTreeHandler)
+methods DO NOT throw CancelledException. cancellation is separate from processing logic. handlers can implements CancelSupport to become a source of cancellation, if necessary
+methods DO throw HgCallbackTargetException to propagate own errors/exceptions
+methods are supposed to silently pass HgRuntimeExceptions (although callback implementers may decide to wrap them into HgCallbackTargetException)
+descriptive names for the methods, whenever possible (not bare #next)
\ No newline at end of file