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 Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    allowInert(UI ui, tools.jackson.databind.JsonNode invocationJson)
    Specifies whether inert status should be ignored for an RPC invocation or not.
    protected static String
    Describes the target of an RPC invocation so that an application developer can tell which part of the application it relates to.
    protected static int
    getNodeId(tools.jackson.databind.JsonNode invocationJson)
     
    handle(UI ui, tools.jackson.databind.JsonNode invocationJson)
    Handles RPC data invocationJson using ui as a context.
    protected abstract Optional<Runnable>
    handleNode(StateNode node, tools.jackson.databind.JsonNode invocationJson)
    Handle the RPC data invocationJson using target node as a context.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.vaadin.flow.server.communication.rpc.RpcInvocationHandler

    getRpcType
  • Constructor Details

    • AbstractRpcInvocationHandler

      public AbstractRpcInvocationHandler()
  • Method Details

    • handle

      public Optional<Runnable> handle(UI ui, tools.jackson.databind.JsonNode 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
    • describeTarget

      protected static String describeTarget(StateNode node)
      Describes the target of an RPC invocation so that an application developer can tell which part of the application it relates to. In addition to the state node id, the description contains the element tag and, when available, the component class and the routing target that the component is used in.
      Parameters:
      node - the target node, may be null
      Returns:
      a description of the target, not null
    • allowInert

      protected boolean allowInert(UI ui, tools.jackson.databind.JsonNode 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.
      Since:
      25.0
    • handleNode

      protected abstract Optional<Runnable> handleNode(StateNode node, tools.jackson.databind.JsonNode 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
      Since:
      25.0
    • getNodeId

      protected static int getNodeId(tools.jackson.databind.JsonNode invocationJson)