So, another justification for wrapping a Java method is when it's a layer boundary and the Java method is two (or more) layers lower than the caller, basically.
This suggests a generalization as well: that there's a form of "Law of Demeter" applied to layers (and libraries) where one should tend to talk directly to the levels adjacent but not to a level two steps down, for instance. The layer two steps down is an implementation detail of the layer one step down and therefore shouldn't be exposed to that layer's clients, including your current layer. This would be more broadly applicable than just when the layer boundary is a client/library boundary -- then again, maybe in a sense it's the reverse, and all layer boundaries can be thought of as client/library boundaries, i.e. every layer of an application but the top should basically be a library (or set of libraries) that is (or are) used to implement the next layer up. -- Protege: What is this seething mass of parentheses?! Master: Your father's Lisp REPL. This is the language of a true hacker. Not as clumsy or random as C++; a language for a more civilized age. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en