Package clojure.java.api
Class Clojure
java.lang.Object
clojure.java.api.Clojure
The Clojure class provides a minimal interface to bootstrap Clojure access from other JVM languages. It provides:
- The ability to use Clojure's namespaces to locate an arbitrary
var, returning the
var's
IFninterface. - A convenience method
readfor reading data using Clojure's edn reader
To lookup and call a Clojure function:
IFn plus = Clojure.var("clojure.core", "+");
plus.invoke(1, 2);
Functions in clojure.core are automatically loaded. Other
namespaces can be loaded via require:
IFn require = Clojure.var("clojure.core", "require");
require.invoke(Clojure.read("clojure.set"));
IFns can be passed to higher order functions, e.g. the
example below passes plus to read:
IFn map = Clojure.var("clojure.core", "map");
IFn inc = Clojure.var("clojure.core", "inc");
map.invoke(inc, Clojure.read("[1 2 3]"));-
Method Summary
-
Method Details
-
var
Returns the var associated with qualifiedName.- Parameters:
qualifiedName- a String or clojure.lang.Symbol- Returns:
- a clojure.lang.IFn
-
var
Returns an IFn associated with the namespace and name.- Parameters:
ns- a String or clojure.lang.Symbolname- a String or clojure.lang.Symbol- Returns:
- a clojure.lang.IFn
-
read
Read one object from the String s. Reads data in the edn format.- Parameters:
s- a String- Returns:
- an Object, or nil.
-