Clojure (Clojure API)
- java.lang.Object
-
- clojure.java.api.Clojure
-
public class Clojure extends java.lang.ObjectThe 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.coreare automatically loaded. Other namespaces can be loaded viarequire: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 passesinctomap:IFn map = Clojure.var("clojure.core", "map"); IFn inc = Clojure.var("clojure.core", "inc"); map.invoke(inc, Clojure.read("[1 2 3]")); - The ability to use Clojure's namespaces to locate an arbitrary
var, returning the
var's
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static java.lang.Objectread(java.lang.String s)Read one object from the String s.
static IFnvar(java.lang.Object qualifiedName)Returns the var associated with qualifiedName.
static IFnvar(java.lang.Object ns, java.lang.Object name)Returns an IFn associated with the namespace and name.
-
-
-
Method Detail
-
var
public static IFn var(java.lang.Object qualifiedName)
Returns the var associated with qualifiedName.
- Parameters:
qualifiedName- a String or clojure.lang.Symbol- Returns:
- a clojure.lang.IFn
-
var
public static IFn var(java.lang.Object ns, java.lang.Object name)
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
public static java.lang.Object read(java.lang.String s)
Read one object from the String s. Reads data in the edn format.
- Parameters:
s- a String- Returns:
- an Object, or nil.
-
-