package io.vertx.groovy.servicediscovery;
public class ServiceDiscovery_GroovyExtension {
  public static io.vertx.servicediscovery.ServiceReference getReference(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.Map<String, Object> record) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.getReference(record != null ? new io.vertx.servicediscovery.Record(io.vertx.core.impl.ConversionHelper.toJsonObject(record)) : null));
  }
  public static io.vertx.servicediscovery.ServiceReference getReferenceWithConfiguration(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.Map<String, Object> record, java.util.Map<String, Object> configuration) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.getReferenceWithConfiguration(record != null ? new io.vertx.servicediscovery.Record(io.vertx.core.impl.ConversionHelper.toJsonObject(record)) : null,
      configuration != null ? io.vertx.core.impl.ConversionHelper.toJsonObject(configuration) : null));
  }
  public static io.vertx.servicediscovery.ServiceDiscovery registerServiceImporter(io.vertx.servicediscovery.ServiceDiscovery j_receiver, io.vertx.servicediscovery.spi.ServiceImporter importer, java.util.Map<String, Object> configuration) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.registerServiceImporter(importer,
      configuration != null ? io.vertx.core.impl.ConversionHelper.toJsonObject(configuration) : null));
  }
  public static io.vertx.servicediscovery.ServiceDiscovery registerServiceImporter(io.vertx.servicediscovery.ServiceDiscovery j_receiver, io.vertx.servicediscovery.spi.ServiceImporter importer, java.util.Map<String, Object> configuration, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>> completionHandler) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.registerServiceImporter(importer,
      configuration != null ? io.vertx.core.impl.ConversionHelper.toJsonObject(configuration) : null,
      completionHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>() {
      public void handle(io.vertx.core.AsyncResult<java.lang.Void> ar) {
        completionHandler.handle(ar.map(event -> io.vertx.core.impl.ConversionHelper.fromObject(event)));
      }
    } : null));
  }
  public static io.vertx.servicediscovery.ServiceDiscovery registerServiceExporter(io.vertx.servicediscovery.ServiceDiscovery j_receiver, io.vertx.servicediscovery.spi.ServiceExporter exporter, java.util.Map<String, Object> configuration) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.registerServiceExporter(exporter,
      configuration != null ? io.vertx.core.impl.ConversionHelper.toJsonObject(configuration) : null));
  }
  public static io.vertx.servicediscovery.ServiceDiscovery registerServiceExporter(io.vertx.servicediscovery.ServiceDiscovery j_receiver, io.vertx.servicediscovery.spi.ServiceExporter exporter, java.util.Map<String, Object> configuration, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>> completionHandler) {
    return io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.registerServiceExporter(exporter,
      configuration != null ? io.vertx.core.impl.ConversionHelper.toJsonObject(configuration) : null,
      completionHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>() {
      public void handle(io.vertx.core.AsyncResult<java.lang.Void> ar) {
        completionHandler.handle(ar.map(event -> io.vertx.core.impl.ConversionHelper.fromObject(event)));
      }
    } : null));
  }
  public static void publish(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.Map<String, Object> record, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.Map<String, Object>>> resultHandler) {
    j_receiver.publish(record != null ? new io.vertx.servicediscovery.Record(io.vertx.core.impl.ConversionHelper.toJsonObject(record)) : null,
      resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>() {
      public void handle(io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record> ar) {
        resultHandler.handle(ar.map(event -> event != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(event.toJson()) : null));
      }
    } : null);
  }
  public static void getRecord(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.Map<String, Object> filter, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.Map<String, Object>>> resultHandler) {
    j_receiver.getRecord(filter != null ? io.vertx.core.impl.ConversionHelper.toJsonObject(filter) : null,
      resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>() {
      public void handle(io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record> ar) {
        resultHandler.handle(ar.map(event -> event != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(event.toJson()) : null));
      }
    } : null);
  }
  public static void getRecord(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.function.Function<java.util.Map<String, Object>, java.lang.Boolean> filter, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.Map<String, Object>>> resultHandler) {
    j_receiver.getRecord(filter != null ? new java.util.function.Function<io.vertx.servicediscovery.Record, java.lang.Boolean>() {
      public java.lang.Boolean apply(io.vertx.servicediscovery.Record t) {
        java.util.Map<String, Object> o = t != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(t.toJson()) : null;
        java.lang.Boolean p = filter.apply(o);
        return p;
      }
    } : null,
      resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>() {
      public void handle(io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record> ar) {
        resultHandler.handle(ar.map(event -> event != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(event.toJson()) : null));
      }
    } : null);
  }
  public static void getRecord(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.function.Function<java.util.Map<String, Object>, java.lang.Boolean> filter, boolean includeOutOfService, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.Map<String, Object>>> resultHandler) {
    j_receiver.getRecord(filter != null ? new java.util.function.Function<io.vertx.servicediscovery.Record, java.lang.Boolean>() {
      public java.lang.Boolean apply(io.vertx.servicediscovery.Record t) {
        java.util.Map<String, Object> o = t != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(t.toJson()) : null;
        java.lang.Boolean p = filter.apply(o);
        return p;
      }
    } : null,
      includeOutOfService,
      resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>() {
      public void handle(io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record> ar) {
        resultHandler.handle(ar.map(event -> event != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(event.toJson()) : null));
      }
    } : null);
  }
  public static void getRecords(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.Map<String, Object> filter, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<java.util.Map<String, Object>>>> resultHandler) {
    j_receiver.getRecords(filter != null ? io.vertx.core.impl.ConversionHelper.toJsonObject(filter) : null,
      resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<io.vertx.servicediscovery.Record>>>() {
      public void handle(io.vertx.core.AsyncResult<java.util.List<io.vertx.servicediscovery.Record>> ar) {
        resultHandler.handle(ar.map(event -> event != null ? event.stream().map(elt -> elt != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(elt.toJson()) : null).collect(java.util.stream.Collectors.toList()) : null));
      }
    } : null);
  }
  public static void getRecords(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.function.Function<java.util.Map<String, Object>, java.lang.Boolean> filter, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<java.util.Map<String, Object>>>> resultHandler) {
    j_receiver.getRecords(filter != null ? new java.util.function.Function<io.vertx.servicediscovery.Record, java.lang.Boolean>() {
      public java.lang.Boolean apply(io.vertx.servicediscovery.Record t) {
        java.util.Map<String, Object> o = t != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(t.toJson()) : null;
        java.lang.Boolean p = filter.apply(o);
        return p;
      }
    } : null,
      resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<io.vertx.servicediscovery.Record>>>() {
      public void handle(io.vertx.core.AsyncResult<java.util.List<io.vertx.servicediscovery.Record>> ar) {
        resultHandler.handle(ar.map(event -> event != null ? event.stream().map(elt -> elt != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(elt.toJson()) : null).collect(java.util.stream.Collectors.toList()) : null));
      }
    } : null);
  }
  public static void getRecords(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.function.Function<java.util.Map<String, Object>, java.lang.Boolean> filter, boolean includeOutOfService, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<java.util.Map<String, Object>>>> resultHandler) {
    j_receiver.getRecords(filter != null ? new java.util.function.Function<io.vertx.servicediscovery.Record, java.lang.Boolean>() {
      public java.lang.Boolean apply(io.vertx.servicediscovery.Record t) {
        java.util.Map<String, Object> o = t != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(t.toJson()) : null;
        java.lang.Boolean p = filter.apply(o);
        return p;
      }
    } : null,
      includeOutOfService,
      resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<io.vertx.servicediscovery.Record>>>() {
      public void handle(io.vertx.core.AsyncResult<java.util.List<io.vertx.servicediscovery.Record>> ar) {
        resultHandler.handle(ar.map(event -> event != null ? event.stream().map(elt -> elt != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(elt.toJson()) : null).collect(java.util.stream.Collectors.toList()) : null));
      }
    } : null);
  }
  public static void update(io.vertx.servicediscovery.ServiceDiscovery j_receiver, java.util.Map<String, Object> record, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.Map<String, Object>>> resultHandler) {
    j_receiver.update(record != null ? new io.vertx.servicediscovery.Record(io.vertx.core.impl.ConversionHelper.toJsonObject(record)) : null,
      resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>() {
      public void handle(io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record> ar) {
        resultHandler.handle(ar.map(event -> event != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(event.toJson()) : null));
      }
    } : null);
  }
  public static java.util.Map<String, Object> options(io.vertx.servicediscovery.ServiceDiscovery j_receiver) {
    return j_receiver.options() != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(j_receiver.options().toJson()) : null;
  }
}