package io.vertx.groovy.core;
public class Future_GroovyExtension {
  public static io.vertx.core.Future<java.lang.Object> setHandler(io.vertx.core.Future<Object> j_receiver, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Object>> handler) {
    io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.setHandler(handler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Object>>() {
      public void handle(io.vertx.core.AsyncResult<java.lang.Object> ar) {
        handler.handle(ar.map(event -> io.vertx.core.impl.ConversionHelper.fromObject(event)));
      }
    } : null));
    return j_receiver;
  }
  public static void complete(io.vertx.core.Future<Object> j_receiver, java.lang.Object result) {
    j_receiver.complete(io.vertx.core.impl.ConversionHelper.toObject(result));
  }
  public static boolean tryComplete(io.vertx.core.Future<Object> j_receiver, java.lang.Object result) {
    return j_receiver.tryComplete(io.vertx.core.impl.ConversionHelper.toObject(result));
  }
  public static java.lang.Object result(io.vertx.core.Future<Object> j_receiver) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.result());
  }
  public static <U>io.vertx.core.Future<java.lang.Object> compose(io.vertx.core.Future<Object> j_receiver, java.util.function.Function<java.lang.Object, io.vertx.core.Future<java.lang.Object>> mapper) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.compose(mapper != null ? new java.util.function.Function<java.lang.Object, io.vertx.core.Future<java.lang.Object>>() {
      public io.vertx.core.Future<java.lang.Object> apply(java.lang.Object t) {
        java.lang.Object o = io.vertx.core.impl.ConversionHelper.fromObject(t);
        io.vertx.core.Future<java.lang.Object> p = mapper.apply(o);
        return p;
      }
    } : null));
  }
  public static <U>io.vertx.core.Future<java.lang.Object> map(io.vertx.core.Future<Object> j_receiver, java.util.function.Function<java.lang.Object, java.lang.Object> mapper) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.map(mapper != null ? new java.util.function.Function<java.lang.Object, java.lang.Object>() {
      public java.lang.Object apply(java.lang.Object t) {
        java.lang.Object o = io.vertx.core.impl.ConversionHelper.fromObject(t);
        java.lang.Object p = mapper.apply(o);
        return io.vertx.core.impl.ConversionHelper.toObject(p);
      }
    } : null));
  }
  public static <V>io.vertx.core.Future<java.lang.Object> map(io.vertx.core.Future<Object> j_receiver, java.lang.Object value) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.map(io.vertx.core.impl.ConversionHelper.toObject(value)));
  }
  public static io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Object>> completer(io.vertx.core.Future<Object> j_receiver) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.completer());
  }
  public static io.vertx.core.Future<java.lang.Object> otherwise(io.vertx.core.Future<Object> j_receiver, java.util.function.Function<java.lang.Throwable, java.lang.Object> mapper) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.otherwise(mapper != null ? new java.util.function.Function<java.lang.Throwable, java.lang.Object>() {
      public java.lang.Object apply(java.lang.Throwable t) {
        java.lang.Throwable o = io.vertx.core.impl.ConversionHelper.fromObject(t);
        java.lang.Object p = mapper.apply(o);
        return io.vertx.core.impl.ConversionHelper.toObject(p);
      }
    } : null));
  }
  public static io.vertx.core.Future<java.lang.Object> otherwise(io.vertx.core.Future<Object> j_receiver, java.lang.Object value) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.otherwise(io.vertx.core.impl.ConversionHelper.toObject(value)));
  }
}