- All Superinterfaces:
public interface IStreamingAction extends IActionThe interface for Actions that want to stream content to the caller. A "streaming" output is a special type of action definition output that will result in an
OutputStreambeing 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:
- streaming the generated content back to the user, such as an HTTP servlet response
- saving the content to a content repository
- communicating with existing BI Platform components (such as EmailComponent, which expects to find attachments in the content repository)
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.
OutputStreamwill be determined by the
IOutputHandlerprovided during the execution of the Action Sequence by the
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.
- See Also:
All Methods Instance Methods Abstract Methods Modifier and Type Method Description
getMimeType(String streamPropertyName)Requests the mimetype of the content that the Action will write to the provided stream name.
getMimeTypeRequests the mimetype of the content that the Action will write to the provided stream name. To use the example in the above javadoc, this streamPropertyName would be "reportContent".
streamPropertyName- the action definition output name representing the streamed output, e.g. "reportContent"
- the mimeType for the stream indicated by streamPropertyName
void setOutputStream(OutputStream outputStream)