to.etc.webapp.ajax.renderer.json
Class JSONRenderer

java.lang.Object
  extended by to.etc.webapp.ajax.renderer.ObjectRenderer
      extended by to.etc.webapp.ajax.renderer.json.JSONRenderer

public class JSONRenderer
extends ObjectRenderer

An utility class which renders a Java object as a JSON datastream.

Author:
Frits Jalvingh Created on Apr 6, 2006

Constructor Summary
JSONRenderer(JSONRegistry r, IndentWriter w, boolean advanced)
           
 
Method Summary
 void printInt(int i)
           
protected  void renderArrayElement(java.lang.Object o, java.lang.Class<?> declaredType, int ix)
           
 void renderArrayEnd(java.lang.Object ar)
           
 void renderArrayStart(java.lang.Object ar)
           
 void renderDate(java.util.Date dt)
           
 void renderMapEnd(java.util.Map<?,?> l)
           
 void renderMapEntry(java.lang.Object key, java.lang.Object value, int itemnr, int maxitemnr)
           
 void renderMapStart(java.util.Map<?,?> l)
           
protected  void renderObjectBeforeItem(int count, java.lang.Object o, java.lang.String name, java.lang.Class<?> declaredType)
           
 void renderObjectEnd(java.lang.Object o)
           
protected  void renderObjectMember(java.lang.Object o, java.lang.String name, java.lang.Class<?> declaredType)
          Generate a class member in JSON syntax, which is name: value
 void renderObjectStart(java.lang.Object o)
          Renders the start tag for a class type to be rendered.
protected  void renderRoot(java.lang.Object root)
           
 
Methods inherited from class to.etc.webapp.ajax.renderer.ObjectRenderer
getRegistry, getWriter, isKnownObject, print, render, renderListEnd, renderListStart, renderObjectAfterItem, renderSub
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JSONRenderer

public JSONRenderer(JSONRegistry r,
                    IndentWriter w,
                    boolean advanced)
Method Detail

renderRoot

protected void renderRoot(java.lang.Object root)
                   throws java.lang.Exception
Overrides:
renderRoot in class ObjectRenderer
Throws:
java.lang.Exception

renderObjectStart

public void renderObjectStart(java.lang.Object o)
                       throws java.lang.Exception
Renders the start tag for a class type to be rendered. The name of the class is the class name.

Specified by:
renderObjectStart in class ObjectRenderer
Throws:
java.lang.Exception
See Also:
to.etc.webapp.ajax.renderer.ObjectRenderer#renderObjectStart(java.lang.Object, java.lang.Class, java.lang.String)

renderObjectEnd

public void renderObjectEnd(java.lang.Object o)
                     throws java.lang.Exception
Specified by:
renderObjectEnd in class ObjectRenderer
Throws:
java.lang.Exception

renderObjectBeforeItem

protected void renderObjectBeforeItem(int count,
                                      java.lang.Object o,
                                      java.lang.String name,
                                      java.lang.Class<?> declaredType)
                               throws java.lang.Exception
Overrides:
renderObjectBeforeItem in class ObjectRenderer
Throws:
java.lang.Exception

renderArrayStart

public void renderArrayStart(java.lang.Object ar)
                      throws java.lang.Exception
Overrides:
renderArrayStart in class ObjectRenderer
Throws:
java.lang.Exception

renderArrayEnd

public void renderArrayEnd(java.lang.Object ar)
                    throws java.lang.Exception
Overrides:
renderArrayEnd in class ObjectRenderer
Throws:
java.lang.Exception

renderArrayElement

protected void renderArrayElement(java.lang.Object o,
                                  java.lang.Class<?> declaredType,
                                  int ix)
                           throws java.lang.Exception
Overrides:
renderArrayElement in class ObjectRenderer
Throws:
java.lang.Exception

renderMapStart

public void renderMapStart(java.util.Map<?,?> l)
                    throws java.lang.Exception
Overrides:
renderMapStart in class ObjectRenderer
Throws:
java.lang.Exception

renderMapEnd

public void renderMapEnd(java.util.Map<?,?> l)
                  throws java.lang.Exception
Overrides:
renderMapEnd in class ObjectRenderer
Throws:
java.lang.Exception

renderMapEntry

public void renderMapEntry(java.lang.Object key,
                           java.lang.Object value,
                           int itemnr,
                           int maxitemnr)
                    throws java.lang.Exception
Overrides:
renderMapEntry in class ObjectRenderer
Throws:
java.lang.Exception

printInt

public void printInt(int i)
              throws java.io.IOException
Throws:
java.io.IOException

renderObjectMember

protected void renderObjectMember(java.lang.Object o,
                                  java.lang.String name,
                                  java.lang.Class<?> declaredType)
                           throws java.lang.Exception
Generate a class member in JSON syntax, which is name: value

Overrides:
renderObjectMember in class ObjectRenderer
Throws:
java.lang.Exception
See Also:
ObjectRenderer.renderObjectMember(java.lang.Object, java.lang.String, java.lang.Class)

renderDate

public void renderDate(java.util.Date dt)
                throws java.lang.Exception
Throws:
java.lang.Exception