通过Lombok将返回类型绑定到超类型

时间:2019-02-27 17:53:28

标签: java lombok

是否可以将我尝试通过@Getter注释公开的字段类型绑定到超类型?

例如,我有以下代码:

@AppScope
public final class ProtrocolMessageRepository {

    @Getter
    private final Subject<StartGameResponse> startGameSubject = PublishSubject.create();
    private final Subject<WaitForGameResponse> waitForGameSubject = PublishSubject.create();
    private final Subject<FinishedGameResponse> finishedGameSubject = PublishSubject.create();
}

我试图将startGameSubject字段公开为Observable而不是SubjectObservableSubject的超类型。

1 个答案:

答案 0 :(得分:0)

这不可能直接实现。但是您可以执行以下操作:

public final class ProtrocolMessageRepository {
    private final Subject<StartGameResponse> startGameSubject = PublishSubject.create();
    @Getter
    private final Observable<StartGameResponse> startGameObservable = startGameSubject;
}

但是,我怀疑这是否真的值得,因为代码显然不那么容易理解,但是比没有Lombok编写自己的手动吸气剂短得多。因此,您确实应该手动实现。