org.directwebremoting.extend
Interface ScriptConduit

All Known Implementing Classes:
BaseScriptConduit, HtmlScriptConduit, PlainScriptConduit

public interface ScriptConduit

While a Marshaller is processing a request it can register a ScriptConduit with the ScriptSession to say - pass scripts straight to me and bypass the temporary storage area. This interface allows this to happen.

Author:
Joe Walker [joe at getahead dot ltd dot uk]

Method Summary
 java.lang.String getOutboundMimeType()
          What mime type should we send to the browser for this data?
 void sendBeginChunk(java.io.PrintWriter out)
          Called before a each set of scripts that are to be sent.
 void sendBeginStream(java.io.PrintWriter out)
          Called when we are initially setting up the stream.
 void sendEndChunk(java.io.PrintWriter out)
          Called after each set of scripts when they have been sent.
 void sendEndStream(java.io.PrintWriter out, int timetoNextPoll)
          Called when we are shutting the stream down.
 void sendScript(java.io.PrintWriter out, java.lang.String script)
          Add a script to the list bound for remote execution.
 

Method Detail

getOutboundMimeType

java.lang.String getOutboundMimeType()
What mime type should we send to the browser for this data?

Returns:
A mime-type

sendBeginStream

void sendBeginStream(java.io.PrintWriter out)
Called when we are initially setting up the stream. This does not send any data to the client, just sets it up for data.

This method is always called exactly once in the lifetime of a conduit.


sendBeginChunk

void sendBeginChunk(java.io.PrintWriter out)
Called before a each set of scripts that are to be sent.


sendScript

void sendScript(java.io.PrintWriter out,
                java.lang.String script)
                throws java.io.IOException
Add a script to the list bound for remote execution.

It is not an error to refuse to handle the script and return false, it just indicates that this ScriptConduit did not accept the script. If the ScriptConduit can no longer function then it should throw an exception and it will be assumed to be no longer useful. If you want to implement this method then you will probably be doing something like calling ServletOutputStream.print(String) and passing in the results of calling ScriptBufferUtil.createOutput().

Parameters:
script - The script to execute
Throws:
java.io.IOException - If this conduit is broken and should not be used

sendEndChunk

void sendEndChunk(java.io.PrintWriter out)
Called after each set of scripts when they have been sent.


sendEndStream

void sendEndStream(java.io.PrintWriter out,
                   int timetoNextPoll)
                   throws java.io.IOException
Called when we are shutting the stream down. The poll has finished, get the client to call us back

Parameters:
timetoNextPoll - How long before we tell the browser to come back?
Throws:
java.io.IOException

Copyright ยจ 2008