public static class StreamingJsonBuilder.StreamingJsonDelegate extends 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)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
call(java.lang.String name,
    Closure value)
Writes the name and another JSON object 
 | 
void | 
call(java.lang.String name,
    java.util.Collection coll,
    Closure c)
Delegates to  
call(String, Iterable, Closure) | 
void | 
call(java.lang.String name,
    java.lang.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(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,
    Closure callable)
Writes the name and value of a JSON attribute 
 | 
void | 
call(java.lang.String name,
    Writable json)
Writes the given Writable as the value of the given attribute name 
 | 
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.io.Writer | 
getWriter()  | 
java.lang.Object | 
invokeMethod(java.lang.String name,
            java.lang.Object args)
Invokes the given method. 
 | 
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,
                          Closure closure)  | 
static java.lang.Object | 
writeCollectionWithClosure(java.io.Writer writer,
                          java.lang.Iterable coll,
                          Closure closure)  | 
protected void | 
writeName(java.lang.String name)  | 
protected void | 
writeValue(java.lang.Object value)  | 
getMetaClass, getProperty, setMetaClass, setPropertyprotected final java.io.Writer writer
protected boolean first
protected groovy.json.StreamingJsonBuilder.StreamingJsonDelegate.State state
public StreamingJsonDelegate(java.io.Writer w,
                             boolean first)
public java.io.Writer getWriter()
public java.lang.Object invokeMethod(java.lang.String name,
                                     java.lang.Object args)
GroovyObjectinvokeMethod in interface GroovyObjectinvokeMethod in class GroovyObjectSupportname - 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.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)
                 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)
                 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)
                 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)
                 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,
                 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)
                                                          Closure closure)
                                                   throws java.io.IOException
java.io.IOExceptionpublic static java.lang.Object writeCollectionWithClosure(java.io.Writer writer,
                                                          java.lang.Iterable coll,
                                                          @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
                                                          Closure closure)
                                                   throws java.io.IOException
java.io.IOExceptionpublic static void cloneDelegateAndGetContent(java.io.Writer w,
                                              @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
                                              Closure c)
public static void cloneDelegateAndGetContent(java.io.Writer w,
                                              @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
                                              Closure c,
                                              boolean first)
public static void curryDelegateAndGetContent(java.io.Writer w,
                                              @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
                                              Closure c,
                                              java.lang.Object o)
public static void curryDelegateAndGetContent(java.io.Writer w,
                                              @DelegatesTo(value=StreamingJsonBuilder.StreamingJsonDelegate.class)
                                              Closure c,
                                              java.lang.Object o,
                                              boolean first)