[Java] Class StreamingJsonDelegate
- groovy.json.StreamingJsonBuilder.StreamingJsonDelegate
The delegate used when invoking closures
Field Summary
Modifiers | Name | Description |
---|---|---|
protected boolean | first | |
protected StreamingJsonBuilder.StreamingJsonDelegate.State | state | |
protected Writer | writer |
Constructor Summary
Constructor and description |
---|
StreamingJsonBuilder.StreamingJsonDelegate
(Writer w, boolean first) |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
void |
call(String name, List<Object> list) Writes the name and a JSON array | |
void |
call(String name, Object... array) Writes the name and a JSON array | |
void |
call(String name, Iterable coll, Closure c) A collection and closure passed to a JSON builder will create a root JSON array applying the closure to each object in the collection | |
void |
call(String name, Collection coll, Closure c) Delegates to call(String, Iterable, Closure) | |
void |
call(String name, Object value) Writes the name and value of a JSON attribute | |
void |
call(String name, Object value, Closure callable) Writes the name and value of a JSON attribute | |
void |
call(String name, Closure value) Writes the name and another JSON object | |
void |
call(String name, JsonUnescaped json) Writes an unescaped value. | |
void |
call(String name, Writable json) Writes the given Writable as the value of the given attribute name | |
static void |
cloneDelegateAndGetContent(Writer w, Closure c) | |
static void |
cloneDelegateAndGetContent(Writer w, Closure c, boolean first) | |
static void |
curryDelegateAndGetContent(Writer w, Closure c, Object o) | |
static void |
curryDelegateAndGetContent(Writer w, Closure c, Object o, boolean first) | |
Writer |
getWriter() @return Obtains the current writer | |
Object |
invokeMethod(String name, Object args) | |
static boolean |
isCollectionWithClosure(Object[] args) | |
protected void |
verifyValue() | |
protected void |
writeArray(List<Object> list) | |
static Object |
writeCollectionWithClosure(Writer writer, Collection coll, Closure closure) | |
static Object |
writeCollectionWithClosure(Writer writer, Iterable coll, Closure closure) | |
protected void |
writeName(String name) | |
protected void |
writeValue(Object value) |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class GroovyObjectSupport | getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty |
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Field Detail
protected boolean first
protected StreamingJsonBuilder.StreamingJsonDelegate.State state
protected final Writer writer
Constructor Detail
public StreamingJsonBuilder.StreamingJsonDelegate(Writer w, boolean first)
Method Detail
public void call(String name, List<Object> list)
Writes the name and a JSON array
- throws:
- IOException
- Parameters:
-
name
- The name of the JSON attribute -
list
- The list representing the array
public void call(String name, Object... array)
Writes the name and a JSON array
- throws:
- IOException
- Parameters:
-
name
- The name of the JSON attribute -
array
- The list representing the array
public void call(String name, Iterable coll, @DelegatesTo(StreamingJsonDelegate.class) Closure c)
A collection and closure passed to a JSON builder will create a root JSON array applying the closure to each object in the collection
Example:
class Author { String name } def authorList = [new Author (name: "Guillaume"), new Author (name: "Jochen"), new Author (name: "Paul")] new StringWriter().with { w -> def json = new groovy.json.StreamingJsonBuilder(w) json.book { authors authorList, { Author author -> name author.name } } assert w.toString() == '{"book":{"authors":[{"name":"Guillaume"},{"name":"Jochen"},{"name":"Paul"}]}}' }
- Parameters:
-
coll
- a collection -
c
- a closure used to convert the objects of coll
public void call(String name, Collection coll, @DelegatesTo(StreamingJsonDelegate.class) Closure c)
Delegates to call(String, Iterable, Closure)
public void call(String name, Object value)
Writes the name and value of a JSON attribute
- throws:
- IOException
- Parameters:
-
name
- The attribute name -
value
- The value
public void call(String name, Object value, @DelegatesTo(StreamingJsonDelegate.class) Closure callable)
Writes the name and value of a JSON attribute
- throws:
- IOException
- Parameters:
-
name
- The attribute name -
value
- The value
public void call(String name, @DelegatesTo(StreamingJsonDelegate.class) Closure value)
Writes the name and another JSON object
- throws:
- IOException
- Parameters:
-
name
- The attribute name -
value
- The value
public void call(String name, JsonUnescaped json)
Writes an unescaped value. Note: can cause invalid JSON if passed JSON is invalid
- throws:
- IOException
- Parameters:
-
name
- The attribute name -
json
- The value
public void call(String name, Writable json)
Writes the given Writable as the value of the given attribute name
- throws:
- IOException
- Parameters:
-
name
- The attribute name -
json
- The writable value
public static void cloneDelegateAndGetContent(Writer w, @DelegatesTo(StreamingJsonDelegate.class) Closure c)
public static void cloneDelegateAndGetContent(Writer w, @DelegatesTo(StreamingJsonDelegate.class) Closure c, boolean first)
public static void curryDelegateAndGetContent(Writer w, @DelegatesTo(StreamingJsonDelegate.class) Closure c, Object o)
public static void curryDelegateAndGetContent(Writer w, @DelegatesTo(StreamingJsonDelegate.class) Closure c, Object o, boolean first)
public Writer getWriter()
- Returns:
- Obtains the current writer
public Object invokeMethod(String name, Object args)
public static boolean isCollectionWithClosure(Object[] args)
protected void verifyValue()
protected void writeArray(List<Object> list)
public static Object writeCollectionWithClosure(Writer writer, Collection coll, @DelegatesTo(StreamingJsonDelegate.class) Closure closure)
public static Object writeCollectionWithClosure(Writer writer, Iterable coll, @DelegatesTo(StreamingJsonDelegate.class) Closure closure)
protected void writeName(String name)
protected void writeValue(Object value)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/groovy/json/StreamingJsonBuilder.StreamingJsonDelegate.html