pulse - the web application framework Get pulse at SourceForge.net. Fast, secure and Free Open Source software downloads Ohloh project report for pulse-java

org.torweg.pulse.service.event
Class JSONOutputEvent

java.lang.Object
  extended by org.torweg.pulse.service.event.JSONOutputEvent
All Implemented Interfaces:
Event

public class JSONOutputEvent
extends java.lang.Object
implements Event

is a stop and output Event sending a JSON response.

This Event is useful for AJAX communication.

Version:
$Revision: 2029 $
Author:
Thomas Weber, Daniel Dietz

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.torweg.pulse.service.event.Event
Event.Disposition
 
Constructor Summary
JSONOutputEvent(java.lang.Boolean boo)
          creates a new JSONOutputEvent for the given Boolean.
JSONOutputEvent(net.sf.json.JSONArray obj)
          creates a new JSONOutputEvent for the given JSONArray.
JSONOutputEvent(net.sf.json.JSONObject obj)
          creates a new JSONOutputEvent for the given JSONObject.
JSONOutputEvent(java.lang.Object jaxbEnabled)
          creates a new JSONOutputEvent for the given JAXB-enabled object.
 
Method Summary
 CacheMode getCacheMode()
          returns the CacheMode.
 boolean isOutputEvent()
          Indicates if this Event will write to the OutputStream and so render the OutputStream unwritable for future results.
 boolean isSingularEvent()
          Indicates that the Event will only be added once to the EventManager and block all other Events.
 boolean isStopEvent()
          Indicates if the Invoker should proceed executing other bundles or if it should terminate after executing this Event .
 void run(ServiceRequest req)
          sends the JSON response.
 void setCacheMode(CacheMode c)
          sets the CacheMode.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JSONOutputEvent

public JSONOutputEvent(net.sf.json.JSONObject obj)
creates a new JSONOutputEvent for the given JSONObject.

Parameters:
obj - the JSONObject to be outputted

JSONOutputEvent

public JSONOutputEvent(net.sf.json.JSONArray obj)
creates a new JSONOutputEvent for the given JSONArray.

Parameters:
obj - the JSONArray to be outputted

JSONOutputEvent

public JSONOutputEvent(java.lang.Boolean boo)
creates a new JSONOutputEvent for the given Boolean.

Parameters:
boo - the Boolean to be outputted

JSONOutputEvent

public JSONOutputEvent(java.lang.Object jaxbEnabled)
creates a new JSONOutputEvent for the given JAXB-enabled object.

Parameters:
jaxbEnabled - the object
Method Detail

run

public final void run(ServiceRequest req)
sends the JSON response.

Specified by:
run in interface Event
Parameters:
req - the current ServiceRequest
See Also:
Event.run(org.torweg.pulse.service.request.ServiceRequest)

isStopEvent

public final boolean isStopEvent()
Description copied from interface: Event
Indicates if the Invoker should proceed executing other bundles or if it should terminate after executing this Event .

Specified by:
isStopEvent in interface Event
Returns:
true
See Also:
Event.isStopEvent()

isOutputEvent

public final boolean isOutputEvent()
Description copied from interface: Event
Indicates if this Event will write to the OutputStream and so render the OutputStream unwritable for future results.

Please note: After writing to the OutputStream it should be flushed and closed.

Specified by:
isOutputEvent in interface Event
Returns:
true
See Also:
Event.isOutputEvent()

isSingularEvent

public final boolean isSingularEvent()
Description copied from interface: Event
Indicates that the Event will only be added once to the EventManager and block all other Events.

If an Event of the same type has already been added to the EventManager, subsequent calls to EventManager.addEvent(Event) will return without adding the given Event.

Specified by:
isSingularEvent in interface Event
Returns:
true
See Also:
Event.isSingularEvent()

getCacheMode

public final CacheMode getCacheMode()
returns the CacheMode.

Specified by:
getCacheMode in interface Event
Returns:
the cache mode
See Also:
Event.getCacheMode()

setCacheMode

public final void setCacheMode(CacheMode c)
sets the CacheMode.

Specified by:
setCacheMode in interface Event
Parameters:
c - the cache mode to set
See Also:
Event.setCacheMode(org.torweg.pulse.service.request.CacheMode)