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.
