Interface ICrossViewScopeRequest<T extends Serializable>

Type Parameters:
T - Type of the requested data.
All Superinterfaces:
Serializable
All Known Subinterfaces:
IDesignerConversationRequest<T>
All Known Implementing Classes:
AddNewStateRequest, FetchDesignerPlaceholdersRequest, FetchWebFormPersistRequest, FetchWorkflowConfigRequest, FetchWorkflowPersistRequest, FileUploadedRequest, FindPdfImporterIdsRequest, InsertFormElementRequest, LoadWebFormPersistJsonRequest, LoadWebFormPersistLivecycleRequest, LoadWebFormPersistPdfRequest, LoadWorkflowPersistRequest, OpenPdfInlineViaSessionKeyRequest

public interface ICrossViewScopeRequest<T extends Serializable> extends Serializable
Base interface for a cross-view scope request for a piece of data.

Assume there are two view scope A and B. A method running in the scope of A wishes to obtain some data form B. It needs to send a message (such as via an event bus) to B. However, when the message handler of B is invoked synchronously, it will still be within the scope of A and will not have access to the state of B.

To solve this, A can first store the request data within the shared conversation state. A can send a push message via a web socket to the client (web browser) of B, which can then initiate an AJAX call to the view scope of B. Now B can access the request data from the shared conversation state, create the requested data and store the requested data in the conversation state. Afterwards, B sends a push message to the client (browser) of A, which initiates another AJAX call to the view scope of A. Finally, A can access the response from the conversation state and proceed to process that response.

Since:
7.0.0
Author:
XIMA MEDIA GmbH
  • Method Summary

    Modifier and Type
    Method
    Description
    Class<? extends T>
     
  • Method Details

    • getResponseType

      Class<? extends T> getResponseType()
      Returns:
      Type of the requested data.