public static class StreamingJsonBuilder.StreamingJsonDelegate
extends groovy.lang.GroovyObjectSupport
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
first |
protected groovy.json.StreamingJsonBuilder.StreamingJsonDelegate.State |
state |
protected java.io.Writer |
writer |
| Constructor and Description |
|---|
StreamingJsonDelegate(java.io.Writer w,
boolean first) |
StreamingJsonDelegate(java.io.Writer w,
boolean first,
JsonGenerator generator) |
| Modifier and Type | Method and Description |
|---|---|
void |
call(java.lang.String name,
groovy.lang.Closure value)
Writes the name and another JSON object
|
void |
call(java.lang.String name,
java.util.Collection coll,
groovy.lang.Closure c)
Delegates to
call(String, Iterable, Closure) |
void |
call(java.lang.String name,
java.lang.Iterable coll,
groovy.lang.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
|
void |
call(java.lang.String name,
java.lang.Object value,
groovy.lang.Closure callable)
Writes the name and value of a JSON attribute
|
void |
call(java.lang.String name,
groovy.lang.Writable json)
Writes the given Writable as the value of the given attribute name
|
static void |
cloneDelegateAndGetContent(java.io.Writer w,
groovy.lang.Closure c) |
static void |
cloneDelegateAndGetContent(java.io.Writer w,
groovy.lang.Closure c,
boolean first) |
static void |
curryDelegateAndGetContent(java.io.Writer w,
groovy.lang.Closure c,
java.lang.Object o) |
static void |
curryDelegateAndGetContent(java.io.Writer w,
groovy.lang.Closure c,
java.lang.Object o,
boolean first) |
java.io.Writer |
getWriter() |
java.lang.Object |
invokeMethod(java.lang.String name,
java.lang.Object args) |
static boolean |
isCollectionWithClosure(java.lang.Object[] args) |
protected void |
verifyValue() |
protected void |
writeArray(java.util.List<java.lang.Object> list) |
static java.lang.Object |
writeCollectionWithClosure(java.io.Writer writer,
java.util.Collection coll,
groovy.lang.Closure closure) |
protected void |
writeName(java.lang.String name) |
protected void |
writeValue(java.lang.Object value) |
protected final java.io.Writer writer
protected boolean first
protected groovy.json.StreamingJsonBuilder.StreamingJsonDelegate.State state
public StreamingJsonDelegate(java.io.Writer w,
boolean first)
public StreamingJsonDelegate(java.io.Writer w,
boolean first,
JsonGenerator generator)
public java.io.Writer getWriter()
public java.lang.Object invokeMethod(java.lang.String name,
java.lang.Object args)
invokeMethod in interface groovy.lang.GroovyObjectinvokeMethod in class groovy.lang.GroovyObjectSupportpublic 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.IOExceptionpublic 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.IOExceptionpublic void call(java.lang.String name,
java.lang.Iterable coll,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.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.IOExceptionpublic void call(java.lang.String name,
java.util.Collection coll,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.Closure c)
throws java.io.IOException
call(String, Iterable, Closure)java.io.IOExceptionpublic void call(java.lang.String name,
java.lang.Object value)
throws java.io.IOException
name - The attribute namevalue - The valuejava.io.IOExceptionpublic void call(java.lang.String name,
java.lang.Object value,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.Closure callable)
throws java.io.IOException
name - The attribute namevalue - The valuejava.io.IOExceptionpublic void call(java.lang.String name,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.Closure value)
throws java.io.IOException
name - The attribute namevalue - The valuejava.io.IOExceptionpublic void call(java.lang.String name,
JsonOutput.JsonUnescaped json)
throws java.io.IOException
name - The attribute namejson - The valuejava.io.IOExceptionpublic void call(java.lang.String name,
groovy.lang.Writable json)
throws java.io.IOException
name - The attribute namejson - The writable valuejava.io.IOExceptionprotected void verifyValue()
protected void writeName(java.lang.String name)
throws java.io.IOException
java.io.IOExceptionprotected void writeValue(java.lang.Object value)
throws java.io.IOException
java.io.IOExceptionprotected void writeArray(java.util.List<java.lang.Object> list)
throws java.io.IOException
java.io.IOExceptionpublic static boolean isCollectionWithClosure(java.lang.Object[] args)
public static java.lang.Object writeCollectionWithClosure(java.io.Writer writer,
java.util.Collection coll,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.Closure closure)
throws java.io.IOException
java.io.IOExceptionpublic static void cloneDelegateAndGetContent(java.io.Writer w,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.Closure c)
public static void cloneDelegateAndGetContent(java.io.Writer w,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.Closure c,
boolean first)
public static void curryDelegateAndGetContent(java.io.Writer w,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.Closure c,
java.lang.Object o)
public static void curryDelegateAndGetContent(java.io.Writer w,
@DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
groovy.lang.Closure c,
java.lang.Object o,
boolean first)