The Subversion Object Model --------------------------- Rules of thumb for translating Subverion's C header files (subversion/include/svn_*.h) into a wrapper language's object model: * C modules define a Java package, Python module, etc. * Module functions and callbacks should be methods of an interface/mix-in. * Batons are opaque data structures, and can be represented as empty interfaces or callable objects. Contexts are generally represented as class state. * In languages for which it is applicable, returned svn_error_t's should be declared as thrown exceptions.