public static class StreamingJsonBuilder.StreamingJsonDelegate extends GroovyObjectSupport
| Modifier and Type | Field and Description | 
|---|---|
protected boolean | 
first  | 
protected groovy.json.StreamingJsonBuilder.StreamingJsonDelegate.State | 
state  | 
protected Writer | 
writer  | 
| Constructor and Description | 
|---|
StreamingJsonDelegate(Writer w,
                     boolean first)  | 
StreamingJsonDelegate(Writer w,
                     boolean first,
                     JsonGenerator generator)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
call(String name,
    Closure value)
Writes the name and another JSON object 
 | 
void | 
call(String name,
    Collection coll,
    Closure c)
Delegates to  
call(String, Iterable, Closure) | 
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,
    JsonOutput.JsonUnescaped json)
Writes an unescaped value. 
 | 
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,
    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,
    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()  | 
Object | 
invokeMethod(String name,
            Object args)
Invokes the given method. 
 | 
static boolean | 
isCollectionWithClosure(Object[] args)  | 
protected void | 
verifyValue()  | 
protected void | 
writeArray(List<Object> list)  | 
static Object | 
writeCollectionWithClosure(Writer writer,
                          Collection coll,
                          Closure closure)  | 
protected void | 
writeName(String name)  | 
protected void | 
writeValue(Object value)  | 
getMetaClass, setMetaClassclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetProperty, setPropertyprotected final Writer writer
protected boolean first
protected groovy.json.StreamingJsonBuilder.StreamingJsonDelegate.State state
public StreamingJsonDelegate(Writer w, boolean first)
public StreamingJsonDelegate(Writer w, boolean first, JsonGenerator generator)
public Writer getWriter()
public Object invokeMethod(String name, Object args)
GroovyObjectname - the name of the method to callargs - the arguments to use for the method callpublic void call(String name, List<Object> list) throws IOException
name - The name of the JSON attributelist - The list representing the arrayIOExceptionpublic void call(String name, Object... array) throws IOException
name - The name of the JSON attributearray - The list representing the arrayIOExceptionpublic void call(String name, Iterable coll, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure c) throws 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 collIOExceptionpublic void call(String name, Collection coll, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure c) throws IOException
call(String, Iterable, Closure)IOExceptionpublic void call(String name, Object value) throws IOException
name - The attribute namevalue - The valueIOExceptionpublic void call(String name, Object value, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure callable) throws IOException
name - The attribute namevalue - The valueIOExceptionpublic void call(String name, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure value) throws IOException
name - The attribute namevalue - The valueIOExceptionpublic void call(String name, JsonOutput.JsonUnescaped json) throws IOException
name - The attribute namejson - The valueIOExceptionpublic void call(String name, Writable json) throws IOException
name - The attribute namejson - The writable valueIOExceptionprotected void verifyValue()
protected void writeName(String name) throws IOException
IOExceptionprotected void writeValue(Object value) throws IOException
IOExceptionprotected void writeArray(List<Object> list) throws IOException
IOExceptionpublic static boolean isCollectionWithClosure(Object[] args)
public static Object writeCollectionWithClosure(Writer writer, Collection coll, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure closure) throws IOException
IOExceptionpublic static void cloneDelegateAndGetContent(Writer w, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure c)
public static void cloneDelegateAndGetContent(Writer w, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure c, boolean first)
public static void curryDelegateAndGetContent(Writer w, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure c, Object o)
public static void curryDelegateAndGetContent(Writer w, @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class) Closure c, Object o, boolean first)