aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscgilardi <scgilardi@gmail.com>2009-05-30 15:36:20 +0000
committerscgilardi <scgilardi@gmail.com>2009-05-30 15:36:20 +0000
commit3b63985074a6a835d1cc22c3d2e3757b72a176e5 (patch)
treeee8fd1db197cacf4edb1bf82cd77827782ae20ae
parent59e48bbc1fbfb666962d931eb41452850c73759f (diff)
contrib.core: add new-by-name
-rw-r--r--src/clojure/contrib/core.clj7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/clojure/contrib/core.clj b/src/clojure/contrib/core.clj
index 55e5e777..0397918b 100644
--- a/src/clojure/contrib/core.clj
+++ b/src/clojure/contrib/core.clj
@@ -60,4 +60,11 @@
m)
(dissoc m k)))
+(defn new-by-name
+ "Constructs a Java object whose class is specified by a String."
+ [class-name & args]
+ (clojure.lang.Reflector/invokeConstructor
+ (clojure.lang.RT/classForName class-name)
+ (into-array Object args)))
+
;; ----------------------------------------------------------------------