package com.flexpoker.table.command.events;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.flexpoker.framework.event.BaseEvent;
import com.flexpoker.table.command.framework.TableEvent;
public class WinnersDeterminedEvent extends BaseEvent implements
TableEvent {
private final UUID gameId;
private final UUID handId;
private final Set<UUID> playersToShowCards;
private final Map<UUID, Integer> playersToChipsWonMap;
@JsonCreator
public WinnersDeterminedEvent(
@JsonProperty(value = "aggregateId") UUID aggregateId,
@JsonProperty(value = "version") int version,
@JsonProperty(value = "gameId") UUID gameId,
@JsonProperty(value = "handId") UUID handId,
@JsonProperty(value = "playersToShowCards") Set<UUID> playersToShowCards,
@JsonProperty(value = "playersToChipsWonMap") Map<UUID, Integer> playersToChipsWonMap) {
super(aggregateId, version);
this.gameId = gameId;
this.handId = handId;
this.playersToShowCards = new HashSet<>(playersToShowCards);
this.playersToChipsWonMap = new HashMap<>(playersToChipsWonMap);
}
@Override
public UUID getGameId() {
return gameId;
}
public UUID getHandId() {
return handId;
}
public Set<UUID> getPlayersToShowCards() {
return new HashSet<>(playersToShowCards);
}
public Map<UUID, Integer> getPlayersToChipsWonMap() {
return new HashMap<>(playersToChipsWonMap);
}
}