to.etc.webapp.ajax.renderer
Class ObjectRenderer

java.lang.Object
  extended by to.etc.webapp.ajax.renderer.ObjectRenderer
Direct Known Subclasses:
JSONRenderer, XmlRenderer

public abstract class ObjectRenderer
extends java.lang.Object

A basic object renderer which traverses an object tree and calls handler methods to render the object's components. This is the base class for the JSON and XML renderers.

Author:
Frits Jalvingh Created on Apr 6, 2006

Constructor Summary
ObjectRenderer(RenderRegistry r, IndentWriter w)
           
 
Method Summary
 RenderRegistry getRegistry()
           
 IndentWriter getWriter()
           
protected  boolean isKnownObject(java.lang.Object o)
           
 void print(byte[] bar)
           
 void render(java.lang.Object o)
          This is the main entrypoint for the renderer.
protected  void renderArrayElement(java.lang.Object o, java.lang.Class<?> declaredType, int ix)
           
 void renderArrayEnd(java.lang.Object l)
           
 void renderArrayStart(java.lang.Object l)
           
 void renderListEnd(java.util.Collection<?> l, java.lang.String name)
          Deprecated. 
 void renderListStart(java.util.Collection<?> l, java.lang.String name)
          Deprecated. 
 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 renderObjectAfterItem(int count, java.lang.Object o, java.lang.String name, java.lang.Class<?> declaredType)
           
protected  void renderObjectBeforeItem(int count, java.lang.Object o, java.lang.String name, java.lang.Class<?> declaredType)
           
abstract  void renderObjectEnd(java.lang.Object o)
           
protected  void renderObjectMember(java.lang.Object o, java.lang.String name, java.lang.Class<?> declaredType)
           
abstract  void renderObjectStart(java.lang.Object o)
           
protected  void renderRoot(java.lang.Object root)
           
protected  void renderSub(java.lang.Object o)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectRenderer

public ObjectRenderer(RenderRegistry r,
                      IndentWriter w)
Method Detail

getWriter

public final IndentWriter getWriter()

getRegistry

public final RenderRegistry getRegistry()

render

public final void render(java.lang.Object o)
                  throws java.lang.Exception
This is the main entrypoint for the renderer. It causes the object passed to be rendered.

Parameters:
o -
Throws:
java.lang.Exception

renderRoot

protected void renderRoot(java.lang.Object root)
                   throws java.lang.Exception
Throws:
java.lang.Exception

isKnownObject

protected boolean isKnownObject(java.lang.Object o)

renderSub

protected void renderSub(java.lang.Object o)
                  throws java.lang.Exception
Throws:
java.lang.Exception

print

public void print(byte[] bar)
           throws java.io.IOException
Throws:
java.io.IOException

renderListStart

@Deprecated
public void renderListStart(java.util.Collection<?> l,
                                       java.lang.String name)
                     throws java.lang.Exception
Deprecated. 

Throws:
java.lang.Exception

renderListEnd

@Deprecated
public void renderListEnd(java.util.Collection<?> l,
                                     java.lang.String name)
                   throws java.lang.Exception
Deprecated. 

Throws:
java.lang.Exception

renderArrayStart

public void renderArrayStart(java.lang.Object l)
                      throws java.lang.Exception
Throws:
java.lang.Exception

renderArrayEnd

public void renderArrayEnd(java.lang.Object l)
                    throws java.lang.Exception
Throws:
java.lang.Exception

renderMapStart

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

renderMapEnd

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

renderMapEntry

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

renderObjectStart

public abstract void renderObjectStart(java.lang.Object o)
                                throws java.lang.Exception
Throws:
java.lang.Exception

renderObjectEnd

public abstract void renderObjectEnd(java.lang.Object o)
                              throws java.lang.Exception
Throws:
java.lang.Exception

renderArrayElement

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

renderObjectMember

protected void renderObjectMember(java.lang.Object o,
                                  java.lang.String name,
                                  java.lang.Class<?> declaredType)
                           throws java.lang.Exception
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
Throws:
java.lang.Exception

renderObjectAfterItem

protected void renderObjectAfterItem(int count,
                                     java.lang.Object o,
                                     java.lang.String name,
                                     java.lang.Class<?> declaredType)
                              throws java.lang.Exception
Throws:
java.lang.Exception