I decided to package this up in a standalone library so it can be used 
until such time that it makes it into a GWT release.

https://github.com/OneGeek/GWT-CompletableFuture

On Monday, September 5, 2016 at 4:47:10 AM UTC-4, Andrei Korzhevskii wrote:
>
> I guess you need to super-source this class so the gwt compiler could use 
> it.
>
> You can take a look at my initial CompletableFuture implementation here:
>
> https://github.com/nordligulv/gwt/tree/completable-future
>
> https://github.com/nordligulv/gwt/commit/ea70c5358bac3c939cb0c1628a58ccc462cd7423
>
> Feel free to use it but note that I haven't tested it properly yet.
>
>
>
> On Monday, September 5, 2016 at 3:28:27 AM UTC+3, Ian Preston wrote:
>>
>> I'm trying to emulate CompletableFuture by backing directly onto Promise, 
>> but when compiling it gives this error: 
>> "No source code is available for type 
>> java.util.concurrent.CompletableFuture<T>"
>> (it finds other JRE classes I've replaced fine)
>>
>> My source I'm including is below. Am I doing anything illegal?
>> ********************************************
>> package java.util.concurrent;
>>
>> import com.google.gwt.user.client.*;
>> import jsinterop.annotations.*;
>>
>> import java.util.function.*;
>>
>> @JsType(isNative=true, name = "Promise", namespace = JsPackage.GLOBAL)
>> public class CompletableFuture<T> implements CompletionStage<T> {
>>
>>     @JsMethod(name = "then")
>>     public native <U> CompletableFuture<U> thenApply(Function<? super T,? 
>> extends U> fn);
>>
>>     @JsMethod(name = "then")
>>     public native CompletableFuture<Void> thenAccept(Consumer<? super T> 
>> action);
>>
>>     @JsMethod(name = "then")
>>     public native <U> CompletableFuture<U> thenCompose(Function<? super 
>> T, ? extends CompletionStage<U>> fn);
>>
>>     @JsMethod(name = "reject")
>>     public native boolean completeExceptionally(Throwable ex);
>>
>>     @JsMethod(name = "resolve")
>>     public native boolean complete(T value);
>>
>>     @JsMethod(name = "resolve")
>>     public static native <U> CompletableFuture<U> completedFuture(U 
>> value);
>>
>>     @JsOverlay
>>     public T get() throws InterruptedException, ExecutionException {
>>         Window.alert("Calling synchronous get() on CompletableFuture is 
>> not possible in Javascript!");
>>         throw new IllegalStateException("Unimplemented!");
>>     }
>> }
>>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to