package io.vertx.serviceproxy.clustered; import io.vertx.codegen.annotations.Fluent; import io.vertx.codegen.annotations.ProxyGen; import io.vertx.codegen.annotations.VertxGen; import io.vertx.core.AsyncResult; import io.vertx.core.Handler; import io.vertx.core.Vertx; import io.vertx.core.json.JsonArray; import io.vertx.core.json.JsonObject; import io.vertx.serviceproxy.ProxyHelper; import io.vertx.serviceproxy.testmodel.SomeEnum; import io.vertx.serviceproxy.testmodel.SomeVertxEnum; import io.vertx.serviceproxy.testmodel.TestDataObject; import java.util.List; import java.util.Map; /** * @author <a href="http://escoffier.me">Clement Escoffier</a> */ @ProxyGen @VertxGen public interface Service { static Service createProxy(Vertx vertx, String address) { return ProxyHelper.createProxy(Service.class, vertx, address); } @Fluent Service hello(String name, Handler<AsyncResult<String>> result); @Fluent Service methodUsingEnum(SomeEnum e, Handler<AsyncResult<Boolean>> result); @Fluent Service methodReturningEnum(Handler<AsyncResult<SomeEnum>> result); @Fluent Service methodReturningVertxEnum(Handler<AsyncResult<SomeVertxEnum>> result); @Fluent Service methodWithJsonObject(JsonObject json, Handler<AsyncResult<JsonObject>> result); @Fluent Service methodWithJsonArray(JsonArray json, Handler<AsyncResult<JsonArray>> result); @Fluent Service methodWithList(List<String> list, Handler<AsyncResult<List<String>>> result); @Fluent Service methodWithDataObject(TestDataObject data, Handler<AsyncResult<TestDataObject>> result); @Fluent Service methodWithListOfDataObject(List<TestDataObject> list, Handler<AsyncResult<List<TestDataObject>>> result); @Fluent Service methodWithListOfJsonObject(List<JsonObject> list, Handler<AsyncResult<List<JsonObject>>> result); @Fluent Service methodWthFailingResult(String input, Handler<AsyncResult<JsonObject>> result); /*@Fluent Service methodWithMapOfJsonObject(Map<String, JsonObject> map, Handler<AsyncResult<Map<String, JsonObject>>> result); */ }