(delegation cl)
returns a list of classloaders in order of top to bottom
(-> (Thread/currentThread) (.getContextClassLoader) (delegation)) => list?
returns a list of classloaders in order of top to bottom (-> (Thread/currentThread) (.getContextClassLoader) (delegation)) => list?
(eval-in env form)
given an environment, evaluates a form
(-> (url-classloader [+clojure-jar+ (-> (io/file "scripts/testdata") (.getAbsolutePath) (str "/"))]) (new-env) (eval-in '(do (require 'other-code) (eval '(other-code/add 1 2 3 4 5))))) => 15
given an environment, evaluates a form (-> (url-classloader [+clojure-jar+ (-> (io/file "scripts/testdata") (.getAbsolutePath) (str "/"))]) (new-env) (eval-in '(do (require 'other-code) (eval '(other-code/add 1 2 3 4 5))))) => 15
(new-env)
(new-env cl)
creates an new environment for isolated class loading
(new-env) => (contains-in {:classloader #(instance? ClassLoader %) :rt clojure.lang.RT :compiler clojure.lang.Compiler :fn {:read-string ifn? :eval ifn?}})
(new-env (url-classloader [+clojure-jar+])) => (contains-in {:classloader ClassLoader :rt Class :compiler Class :fn {:read-string ifn?, :eval ifn?}})
creates an new environment for isolated class loading (new-env) => (contains-in {:classloader #(instance? ClassLoader %) :rt clojure.lang.RT :compiler clojure.lang.Compiler :fn {:read-string ifn? :eval ifn?}}) (new-env (url-classloader [+clojure-jar+])) => (contains-in {:classloader ClassLoader :rt Class :compiler Class :fn {:read-string ifn?, :eval ifn?}})
(to-url path)
constructs a java.net.URL
object from a string
(str (to-url "/dev/null")) => "file:/dev/null"
constructs a `java.net.URL` object from a string (str (to-url "/dev/null")) => "file:/dev/null"
(url-classloader urls)
(url-classloader urls parent)
returns a java.net.URLClassLoader
from a list of strings
(->> (url-classloader ["/dev/null"]) (.getURLs) (map str)) => ["file:/dev/null"]
returns a `java.net.URLClassLoader` from a list of strings (->> (url-classloader ["/dev/null"]) (.getURLs) (map str)) => ["file:/dev/null"]
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close