com.atlassian.confluence.json.jsonator
Class DefaultJsonator

java.lang.Object
  extended by com.atlassian.confluence.json.jsonator.DefaultJsonator
All Implemented Interfaces:
Jsonator<Object>

public class DefaultJsonator
extends Object
implements Jsonator<Object>

Converts a Java Bean to a JSON object.

The process is roughly as follows:

  1. Remove any AspectJ wrapping around the Bean,
  2. Call all getter methods on the Bean, storing to a Map
  3. As each getter is called, run the returned object through a jsonator specific to the object class (eg. Page)
  4. Each jsonator creates a JSON object implementing the Json interface
  5. Once all Bean properties are in the top-level JSON Object, the object is serialized recursively
The first step, calling the getter methods, is delegated to a JSONObject, which converts a bean Object into a JSONObject map.


Constructor Summary
DefaultJsonator(Introspector introspector, Map<Class<?>,Jsonator<?>> jsonators)
           
DefaultJsonator(Map<Class<?>,Jsonator<?>> jsonators)
          Creates a jsonator with the DefaultIntrospector and provided jsonators.
 
Method Summary
 Json convert(Object bean)
          Creates a Json representation of a given object
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultJsonator

public DefaultJsonator(Map<Class<?>,Jsonator<?>> jsonators)
Creates a jsonator with the DefaultIntrospector and provided jsonators. Use DefaultJsonator(Introspector, Map) to specify your own Introspector.


DefaultJsonator

public DefaultJsonator(Introspector introspector,
                       Map<Class<?>,Jsonator<?>> jsonators)
Method Detail

convert

public Json convert(Object bean)
Description copied from interface: Jsonator
Creates a Json representation of a given object

Specified by:
convert in interface Jsonator<Object>
Parameters:
bean - the object to be serialized
Returns:
Json JSON representation of the given object


Copyright © 2003-2011 Atlassian. All Rights Reserved.