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, LoadWebFormPersistJsonRequest, LoadWebFormPersistLivecycleRequest, LoadWorkflowPersistRequest

    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 Detail

      • getResponseType

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