Package org.vaadin.firitin.util
Class JsPromise
java.lang.Object
org.vaadin.firitin.util.JsPromise
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> CompletableFuture
<T> resolve
(String promiseBody, Class<T> returnType, Serializable... args) Asynchronously returns a value from the client side.static CompletableFuture
<Boolean> resolveBoolean
(String promiseBody, Serializable... args) Asynchronously returns a boolean from the client side.static CompletableFuture
<Double> resolveDouble
(String promiseBody, Serializable... args) Asynchronously returns a double from the client side.static CompletableFuture
<Integer> resolveInteger
(String promiseBody, Serializable... args) Asynchronously returns an integer from the client side.static CompletableFuture
<String> resolveString
(String promiseBody, Serializable... args) Asynchronously returns a string from the client side.
-
Constructor Details
-
JsPromise
public JsPromise()
-
-
Method Details
-
resolveString
Asynchronously returns a string from the client side. The JS given for this method is a JS Promise body with "resolve" and "reject" defined for returning the value or failing the request.- Parameters:
promiseBody
- a JS snippet that resolves a promiseargs
- the extra arguments interpolated into JS as in Element.executeJs- Returns:
- the string as
CompletableFuture
-
resolveBoolean
Asynchronously returns a boolean from the client side. The JS given for this method is a JS Promise body with "resolve" and "reject" defined for returning the value or failing the request.- Parameters:
promiseBody
- a JS snippet that resolves a promiseargs
- the extra arguments interpolated into JS as in Element.executeJs- Returns:
- the boolean as
CompletableFuture
-
resolveInteger
Asynchronously returns an integer from the client side. The JS given for this method is a JS Promise body with "resolve" and "reject" defined for returning the value or failing the request.- Parameters:
promiseBody
- a JS snippet that resolves a promiseargs
- the extra arguments interpolated into JS as in Element.executeJs- Returns:
- the integer as
CompletableFuture
-
resolveDouble
Asynchronously returns a double from the client side. The JS given for this method is a JS Promise body with "resolve" and "reject" defined for returning the value or failing the request.- Parameters:
promiseBody
- a JS snippet that resolves a promiseargs
- the extra arguments interpolated into JS as in Element.executeJs- Returns:
- the double as
CompletableFuture
-
resolve
public static <T> CompletableFuture<T> resolve(String promiseBody, Class<T> returnType, Serializable... args) Asynchronously returns a value from the client side. The JS given for this method is a JS Promise body with "resolve" and "reject" defined for returning the value or failing the request.- Type Parameters:
T
- the return type, if not a basic data type, the return parameter in browser is expected to be JSON that is then mapped to given type with Jackson- Parameters:
promiseBody
- a JS snippet that resolves a promisereturnType
- the return value type: String, Integer, Double, Boolean or an object that gets serialized to JSON and deserialized with default Jackson settings on the server side.args
- the extra arguments interpolated into JS as in Element.executeJs- Returns:
- the future to get the value
-