public static class StreamingJsonBuilder.StreamingJsonDelegate extends GroovyObjectSupport
Constructor and Description |
---|
StreamingJsonDelegate(java.io.Writer w,
boolean first) |
Modifier and Type | Method and Description |
---|---|
void |
call(java.lang.String name,
java.util.Collection 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(java.lang.String name,
JsonOutput.JsonUnescaped json)
Writes an unescaped value.
|
void |
call(java.lang.String name,
java.util.List<java.lang.Object> list)
Writes the name and a JSON array
|
void |
call(java.lang.String name,
java.lang.Object... array)
Writes the name and a JSON array
|
void |
call(java.lang.String name,
java.lang.Object value)
Writes the name and value of a JSON attribute
|
static void |
cloneDelegateAndGetContent(java.io.Writer w,
Closure c) |
static void |
cloneDelegateAndGetContent(java.io.Writer w,
Closure c,
boolean first) |
static void |
curryDelegateAndGetContent(java.io.Writer w,
Closure c,
java.lang.Object o) |
static void |
curryDelegateAndGetContent(java.io.Writer w,
Closure c,
java.lang.Object o,
boolean first) |
java.lang.Object |
invokeMethod(java.lang.String name,
java.lang.Object args)
Invokes the given method.
|
static boolean |
isCollectionWithClosure(java.lang.Object[] args) |
static java.lang.Object |
writeCollectionWithClosure(java.io.Writer writer,
java.util.Collection coll,
Closure closure) |
getMetaClass, getProperty, setMetaClass, setProperty
public StreamingJsonDelegate(java.io.Writer w, boolean first)
public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object args)
GroovyObject
invokeMethod
in interface GroovyObject
invokeMethod
in class GroovyObjectSupport
name
- the name of the method to callargs
- the arguments to use for the method callpublic void call(java.lang.String name, java.util.List<java.lang.Object> list) throws java.io.IOException
name
- The name of the JSON attributelist
- The list representing the arrayjava.io.IOException
public void call(java.lang.String name, java.lang.Object... array) throws java.io.IOException
name
- The name of the JSON attributearray
- The list representing the arrayjava.io.IOException
public void call(java.lang.String name, java.util.Collection coll, Closure c) throws java.io.IOException
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"}]}}' }
coll
- a collectionc
- a closure used to convert the objects of colljava.io.IOException
public void call(java.lang.String name, java.lang.Object value) throws java.io.IOException
name
- The attribute namevalue
- The valuejava.io.IOException
public void call(java.lang.String name, JsonOutput.JsonUnescaped json) throws java.io.IOException
name
- The attribute namejson
- The valuejava.io.IOException
public static boolean isCollectionWithClosure(java.lang.Object[] args)
public static java.lang.Object writeCollectionWithClosure(java.io.Writer writer, java.util.Collection coll, Closure closure) throws java.io.IOException
java.io.IOException
public static void cloneDelegateAndGetContent(java.io.Writer w, Closure c)
public static void cloneDelegateAndGetContent(java.io.Writer w, Closure c, boolean first)
public static void curryDelegateAndGetContent(java.io.Writer w, Closure c, java.lang.Object o)
public static void curryDelegateAndGetContent(java.io.Writer w, Closure c, java.lang.Object o, boolean first)