public EventHandler eventHandler()

in pekko-sample-persistence-dc-java/src/main/java/sample/persistence/res/auction/AuctionEntity.java [321:345]


    public EventHandler<AuctionState, Event> eventHandler() {
        return newEventHandlerBuilder()
                .forAnyState()
                .onEvent(
                        BidRegistered.class,
                        (state, event) -> {
                            if (AuctionState.isHigherBid(event.bid, state.highestBid)) {
                                return state.withNewHighestBid(event.bid);
                            } else {
                                return state.withTooLowBid(event.bid);
                            }
                        })
                .onEvent(
                        AuctionFinished.class,
                        (state, event) -> {
                            AuctionState newState = state.addFinishedAtReplica(event.atReplica.id());
                            if (state.isClosed()) return state; // already closed
                            else if (!getReplicationContext().recoveryRunning()) {
                                eventTriggers(event, newState);
                            }
                            return newState;
                        })
                .onEvent(WinnerDecided.class, (state, event) -> state.close())
                .build();
    }