Привязать возвращаемый тип к супертипу через Lombok - PullRequest
0 голосов
/ 27 февраля 2019

Есть ли возможность связать мой тип поля, которое я пытаюсь открыть с аннотацией @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, а не Subject.Observable - это супертип Subject.

1 Ответ

0 голосов
/ 27 февраля 2019

Это невозможно на прямом пути.Но вы можете сделать что-то вроде этого:

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

Однако я сомневаюсь, что это действительно того стоит, потому что код явно менее понятен, но не намного короче, чем написание вашего собственного ручного сборщика без Lombok.Так что вы действительно должны реализовать это вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...