Interface ElementalPendingJavaScriptResult

All Superinterfaces:
Serializable

public interface ElementalPendingJavaScriptResult extends Serializable
A pending result from a JavaScript snippet sent to the browser for evaluation. This interface utilizes Elemental JSON in order to abstract away breaking changes introduced in Vaadin version 25.
Author:
Vaadin Ltd
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    then(SerializableConsumer<elemental.json.JsonValue> resultHandler)
    Adds an untyped handler that will be run for a successful execution.
    void
    then(SerializableConsumer<elemental.json.JsonValue> resultHandler, SerializableConsumer<String> errorHandler)
    Adds an untyped handler that will be run for a successful execution and a handler that will be run for a failed execution.
    default <T> void
    then(Class<T> targetType, SerializableConsumer<T> resultHandler)
    Adds a typed handler that will be run for a successful execution.
    default <T> void
    then(Class<T> targetType, SerializableConsumer<T> resultHandler, SerializableConsumer<String> errorHandler)
    Adds a typed handler that will be run for a successful execution and a handler that will be run for a failed execution.
    default CompletableFuture<elemental.json.JsonValue>
    Creates an untyped completable future that will be completed with the result of the execution.
    toCompletableFuture(Class<T> targetType)
    Creates a typed completable future that will be completed with the result of the execution.
  • Method Details

    • then

      void then(SerializableConsumer<elemental.json.JsonValue> resultHandler, SerializableConsumer<String> errorHandler)
      Adds an untyped handler that will be run for a successful execution and a handler that will be run for a failed execution. One of the handlers will be invoked asynchronously when the result of the execution is sent back to the server. It is not possible to synchronously wait for the result of the execution while holding the session lock since the request handling thread that makes the result available will also need to lock the session.

      Handlers can only be added before the execution has been sent to the browser.

      Parameters:
      resultHandler - a handler for the JSON representation of the value from a successful execution, not null
      errorHandler - a handler for an error message in case the execution failed, or null to ignore errors
    • then

      default void then(SerializableConsumer<elemental.json.JsonValue> resultHandler)
      Adds an untyped handler that will be run for a successful execution. The handler will be invoked asynchronously if the execution was successful. In case of a failure, no handler will be run.

      A handler can only be added before the execution has been sent to the browser.

      Parameters:
      resultHandler - a handler for the JSON representation of the return value from a successful execution, not null
    • then

      default <T> void then(Class<T> targetType, SerializableConsumer<T> resultHandler, SerializableConsumer<String> errorHandler)
      Adds a typed handler that will be run for a successful execution and a handler that will be run for a failed execution. One of the handlers will be invoked asynchronously when the result of the execution is sent back to the server.

      Handlers can only be added before the execution has been sent to the browser.

      Parameters:
      targetType - the type to convert the JavaScript return value to, not null
      resultHandler - a handler for the return value from a successful execution, not null
      errorHandler - a handler for an error message in case the execution failed, or null to ignore errors
    • then

      default <T> void then(Class<T> targetType, SerializableConsumer<T> resultHandler)
      Adds a typed handler that will be run for a successful execution. The handler will be invoked asynchronously if the execution was successful. In case of a failure, no handler will be run.

      A handler can only be added before the execution has been sent to the browser.

      Parameters:
      targetType - the type to convert the JavaScript return value to, not null
      resultHandler - a handler for the return value from a successful execution, not null
    • toCompletableFuture

      <T> CompletableFuture<T> toCompletableFuture(Class<T> targetType)
      Creates a typed completable future that will be completed with the result of the execution. It will be completed asynchronously when the result of the execution is sent back to the server. It is not possible to synchronously wait for the result of the execution while holding the session lock since the request handling thread that makes the result available will also need to lock the session.

      A completable future can only be created before the execution has been sent to the browser.

      Parameters:
      targetType - the type to convert the JavaScript return value to, not null
      Returns:
      a completable future that will be completed based on the execution results, not null
    • toCompletableFuture

      default CompletableFuture<elemental.json.JsonValue> toCompletableFuture()
      Creates an untyped completable future that will be completed with the result of the execution. It will be completed asynchronously when the result of the execution is sent back to the server.

      A completable future can only be created before the execution has been sent to the browser.

      Returns:
      a completable future that will be completed based on the execution results, not null