to.etc.webapp.ajax.renderer
Class RenderRegistry

java.lang.Object
  extended by to.etc.webapp.ajax.renderer.RenderRegistry
Direct Known Subclasses:
JSONRegistry, XmlRegistry

public abstract class RenderRegistry
extends java.lang.Object

This is a registry which contains mappings from Class to ClassRenderer. The data gets built dynamically while objects get rendered.

Author:
Frits Jalvingh Created on Apr 6, 2006

Constructor Summary
RenderRegistry()
           
 
Method Summary
 void addArrayRenderer(java.lang.Class<?> primitive, ItemRenderer r)
           
 void addIgnoredMethod(java.lang.String name)
           
 void addIgnoredPackage(java.lang.String name)
           
 void addIgnoredType(java.lang.Class<?> cl)
           
 ItemRenderer findRenderer(java.lang.Class<?> cl)
           
 boolean isIgnoredType(java.lang.Class<?> c)
           
protected  ItemRenderer makeClassRenderer(java.lang.Class<?> cl)
          This introspects a class' definition and creates an ItemRenderer which decodes the class.
 ItemRenderer makePrimitiveArrayRenderer(java.lang.Class<?> cl)
          Does a lookup for a specialised renderer for an array of primitives.
 ItemRenderer makeRenderer(java.lang.Class<?> cl)
           
 void register(java.lang.Class<?> cl, ItemRenderer r)
           
 void registerBase(java.lang.Class<?> bc, ItemRenderer r)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RenderRegistry

public RenderRegistry()
Method Detail

makePrimitiveArrayRenderer

public ItemRenderer makePrimitiveArrayRenderer(java.lang.Class<?> cl)
Does a lookup for a specialised renderer for an array of primitives.

Parameters:
cl - The primitive component of the array
Returns:

findRenderer

public ItemRenderer findRenderer(java.lang.Class<?> cl)

register

public void register(java.lang.Class<?> cl,
                     ItemRenderer r)

registerBase

public void registerBase(java.lang.Class<?> bc,
                         ItemRenderer r)

addIgnoredMethod

public void addIgnoredMethod(java.lang.String name)

addIgnoredPackage

public void addIgnoredPackage(java.lang.String name)

addIgnoredType

public void addIgnoredType(java.lang.Class<?> cl)

addArrayRenderer

public void addArrayRenderer(java.lang.Class<?> primitive,
                             ItemRenderer r)

isIgnoredType

public boolean isIgnoredType(java.lang.Class<?> c)

makeRenderer

public ItemRenderer makeRenderer(java.lang.Class<?> cl)

makeClassRenderer

protected ItemRenderer makeClassRenderer(java.lang.Class<?> cl)
This introspects a class' definition and creates an ItemRenderer which decodes the class. The ItemRenderer consists of a renderer which renders a list. We accept all methods that are getters, defined as public parameterless methods with a name starting with 'get'.

Parameters:
cl -
Returns: