(create-write-method ele prefix template)
create a write method from the template
(-> ((-> (write/create-write-method (reflect/query-class Cat ["setName" :#]) "set" write/default-write-template ) second :fn) (test.Cat. "spike") "fluffy") (.getName)) => "fluffy"
create a write method from the template (-> ((-> (write/create-write-method (reflect/query-class Cat ["setName" :#]) "set" write/default-write-template ) second :fn) (test.Cat. "spike") "fluffy") (.getName)) => "fluffy"
(from-constructor m {:keys [params] :as construct} methods)
creates the object from a constructor (-> {:name "spike"} (write/from-constructor {:fn (fn [name] (Cat. name)) :params [:name]} {})) ;;=> #test.Cat{:name "spike", :species "cat"}
creates the object from a constructor (-> {:name "spike"} (write/from-constructor {:fn (fn [name] (Cat. name)) :params [:name]} {})) ;;=> #test.Cat{:name "spike", :species "cat"}
(from-data arg cls)
creates the object from data (-> (write/from-data ["hello"] (Class/forName "[Ljava.lang.String;")) seq) => ["hello"]
creates the object from data (-> (write/from-data ["hello"] (Class/forName "[Ljava.lang.String;")) seq) => ["hello"]
(from-empty m empty methods)
creates the object from an empty object constructor (write/from-empty {:name "chris" :pet "dog"} (fn [_] (java.util.Hashtable.)) {:name {:type String :fn (fn [obj v] (.put obj "hello" (keyword v)) obj)} :pet {:type String :fn (fn [obj v] (.put obj "pet" (keyword v)) obj)}}) => {"pet" :dog, "hello" :chris}
creates the object from an empty object constructor (write/from-empty {:name "chris" :pet "dog"} (fn [_] (java.util.Hashtable.)) {:name {:type String :fn (fn [obj v] (.put obj "hello" (keyword v)) obj)} :pet {:type String :fn (fn [obj v] (.put obj "pet" (keyword v)) obj)}}) => {"pet" :dog, "hello" :chris}
(from-map m cls)
creates the object from a map (-> {:name "chris" :age 30 :pets [{:name "slurp" :species "dog"} {:name "happy" :species "cat"}]} (write/from-map Person) (read/to-data)) => (contains-in {:name "chris", :age 30, :pets [{:name "slurp"} {:name "happy"}]})
creates the object from a map (-> {:name "chris" :age 30 :pets [{:name "slurp" :species "dog"} {:name "happy" :species "cat"}]} (write/from-map Person) (read/to-data)) => (contains-in {:name "chris", :age 30, :pets [{:name "slurp"} {:name "happy"}]})
(meta-write cls)
accesses the write-attributes of an object
(write/meta-write DogBuilder) => (contains {:class test.DogBuilder :empty fn?, :methods (contains {:name (contains {:type java.lang.String, :fn fn?})})})
accesses the write-attributes of an object (write/meta-write DogBuilder) => (contains {:class test.DogBuilder :empty fn?, :methods (contains {:name (contains {:type java.lang.String, :fn fn?})})})
(write-all-setters cls)
(write-all-setters cls
{:keys [prefix template]
:or {prefix "set" template default-write-template}})
write all setters of an object and base classes (write/write-all-setters Dog) => {}
(keys (write/write-all-setters DogBuilder)) => [:name]
write all setters of an object and base classes (write/write-all-setters Dog) => {} (keys (write/write-all-setters DogBuilder)) => [:name]
(write-reflect-fields cls)
write fields of an object from reflection (-> (write/write-reflect-fields Dog) keys) => [:name :species]
write fields of an object from reflection (-> (write/write-reflect-fields Dog) keys) => [:name :species]
(write-setters cls)
(write-setters cls
{:keys [prefix template]
:or {prefix "set" template default-write-template}})
write fields of an object through setter methods (write/write-setters Dog) => {}
(keys (write/write-setters DogBuilder)) => [:name]
write fields of an object through setter methods (write/write-setters Dog) => {} (keys (write/write-setters DogBuilder)) => [:name]
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close