Class AbstractRpcInvocationHandler

java.lang.Object
com.vaadin.flow.server.communication.rpc.AbstractRpcInvocationHandler
All Implemented Interfaces:
RpcInvocationHandler, Serializable
Direct Known Subclasses:
AttachExistingElementRpcHandler, AttachTemplateChildRpcHandler, EventRpcHandler, MapSyncRpcHandler, PublishedServerEventHandlerRpcHandler, ReturnChannelHandler

public abstract class AbstractRpcInvocationHandler extends Object implements RpcInvocationHandler
Abstract invocation handler implementation with common methods.

For internal use only. May be renamed or removed in a future release.

Since:
1.0
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • AbstractRpcInvocationHandler

      public AbstractRpcInvocationHandler()
  • Method Details

    • handle

      public Optional<Runnable> handle(UI ui, elemental.json.JsonObject invocationJson)
      Description copied from interface: RpcInvocationHandler
      Handles RPC data invocationJson using ui as a context.
      Specified by:
      handle in interface RpcInvocationHandler
      Parameters:
      ui - the UI to handle against, not null
      invocationJson - the RPC data to handle, not null
      Returns:
      an optional runnable
    • allowInert

      protected boolean allowInert(UI ui, elemental.json.JsonObject invocationJson)
      Specifies whether inert status should be ignored for an RPC invocation or not. The default behaviour is to let the polling events be handled, while ignoring other requests.
      Parameters:
      ui - the UI instance that RPC invocation originated from.
      invocationJson - the JsonObject containing invocation properties.
      Returns:
      a boolean indicating that the inert status should be ignored for the current invocation or not.
    • handleNode

      protected abstract Optional<Runnable> handleNode(StateNode node, elemental.json.JsonObject invocationJson)
      Handle the RPC data invocationJson using target node as a context.
      Parameters:
      node - node to handle invocation with, not null
      invocationJson - the RPC data to handle, not null
      Returns:
      an optional runnable
    • getNodeId

      protected static int getNodeId(elemental.json.JsonObject invocationJson)