org.apache.turbine.modules.screens
Class JSONScreen

java.lang.Object
  extended byorg.apache.turbine.modules.Assembler
      extended byorg.apache.turbine.modules.Screen
          extended byorg.apache.turbine.modules.screens.RawScreen
              extended byorg.apache.turbine.modules.screens.JSONScreen
Direct Known Subclasses:
JSONSecureScreen

public class JSONScreen
extends RawScreen

A Screen class for dealing with JSON-RPC requests. Typically you would extend this class and override the doOutput() method to use TurbineJsonRpc to register the POJOs that will provide the functions you are making available via JSON-RPC. Use JSONSecureScreen if you need the user to be logged in prior to executing the functions you provide.

Here is an example from a superclass: public void doOutput(RunData data) throws Exception { User user = data.getUser(); MyJsonFunctions myFunctions = new MyJsonFunctions(user.getName()); // Session specific TurbineJsonRpc.registerObject(data.getSession(), "myFunctions", myFunctions); // Global //TurbineJsonRpc.registerObjectGlobal("testGlobal", testObject); super.doOutput(data); }

The class MyFunctions would be something like: public class MyJsonFunctions { private String getHello(String clientParameter) { return "Hello " + clientParameter; } }

This code is derived from the com.metaparadigm.jsonrpc.JSONRPCServlet

Version:
$Id$
Author:
brad@folkens.com, Scott Eade

Field Summary
protected static int BUFFER_SIZE
           
protected static java.lang.String JSONRPC_CONTENT_TYPE
           
 
Constructor Summary
JSONScreen()
           
 
Method Summary
protected  void doOutput(RunData data)
          Output the dynamic content.
protected  java.lang.String getContentType(RunData data)
          Set the content type.
 
Methods inherited from class org.apache.turbine.modules.screens.RawScreen
doBuild, getLayout
 
Methods inherited from class org.apache.turbine.modules.Screen
build, prepareText, prepareTextMinimum, setLayout
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JSONRPC_CONTENT_TYPE

protected static final java.lang.String JSONRPC_CONTENT_TYPE
See Also:
Constant Field Values

BUFFER_SIZE

protected static final int BUFFER_SIZE
See Also:
Constant Field Values
Constructor Detail

JSONScreen

public JSONScreen()
Method Detail

getContentType

protected java.lang.String getContentType(RunData data)
Description copied from class: RawScreen
Set the content type. This method should be overidden to actually set the real content-type header of the output.

Specified by:
getContentType in class RawScreen
Parameters:
data - Turbine information.
Returns:
A String with the content type.

doOutput

protected void doOutput(RunData data)
                 throws java.lang.Exception
Output the dynamic content.

Specified by:
doOutput in class RawScreen
Parameters:
data - The RunData object.
Throws:
java.lang.Exception


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.