如何强制Vertx Rx CodeGen生成MayBe作为返回类型

时间:2018-07-16 18:25:22

标签: kotlin rx-java2 vert.x rx-kotlin codegen

我正在使用以下Kotlin代码生成代理(这也会生成Rx方法)

@ProxyGen
@VertxGen
interface JobService {
    @Fluent
    fun getCertain(jobId: Int, handler: Handler<AsyncResult<Job?>>): JobService
}

当我看到生成的Rx代码时,如下所示。

public Single<Job> rxGetCertain(int jobId) { 
   return new io.vertx.reactivex.core.impl.AsyncResultSingle<Job>(handler -> {
     getCertain(jobId, handler);
   });
}

问题:-

不幸的是,我无法在Kotlin中使用此功能,因为kotlin不允许非null字段使用null值,并且它引发以下异常。

java.lang.IllegalArgumentException: Parameter specified as non-null is null

我如何强制Vertx CodeGen生成MayBe返回类型,以便我的代码在kotlin中没有任何问题。

1 个答案:

答案 0 :(得分:0)

添加注释@Nullable

@ProxyGen
@VertxGen
interface JobService {
    @Fluent
    fun getCertain(jobId: Int, handler: Handler<AsyncResult<@Nullable Job?>>): JobService
}