public interface IStreamingAction extends IAction
OutputStream
being set on the Action.
It is generally recommended that if your Action bean yields any content for user consumption, that it implement
IStreamingAction
. This guarantees that your Action will have the option of:
From the perspective of the Action Sequence itself, an output is considered a "streaming" output if the
attribute "type" is set to "content", e.g.
The output may or may not have a globally defined destination to which it corresponds. If the output
does correspond to a globally defined output with a destination, then the source of the OutputStream
will be determined by the IOutputHandler
provided during the execution
of the Action Sequence by the ISolutionEngine
.
In the case that an output is considered "streaming", it will basically be treated similar to an input in that it will be set on the Action with a setter method. For example, if an action definition declares a streaming output called "reportContent", then the platform will attempt to call a method on the Action called "setReportContentStream(OutputStream os)". Note that the post-fix "Stream" will be added to the name of your output. Streaming outputs will not be queried once the Action has finished executing like a normal non-streaming output would.
IAction
Modifier and Type | Method and Description |
---|---|
String |
getMimeType(String streamPropertyName)
Requests the mimetype of the content that the Action will write to the provided stream name.
|
void |
setOutputStream(OutputStream outputStream) |
String getMimeType(String streamPropertyName)
streamPropertyName
- the action definition output name representing the streamed output, e.g. "reportContent"void setOutputStream(OutputStream outputStream)