package com.flexpoker.table.command.events;
import java.util.HashMap;
import java.util.Map;
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 HandCompletedEvent extends BaseEvent implements TableEvent {
private final UUID gameId;
private final UUID handId;
private final Map<UUID, Integer> playerToChipsAtTableMap;
@JsonCreator
public HandCompletedEvent(@JsonProperty(value = "aggregateId") UUID aggregateId,
@JsonProperty(value = "version") int version,
@JsonProperty(value = "gameId") UUID gameId,
@JsonProperty(value = "handId") UUID handId,
@JsonProperty(value = "playerToChipsAtTableMap") Map<UUID, Integer> playerToChipsAtTableMap) {
super(aggregateId, version);
this.gameId = gameId;
this.handId = handId;
this.playerToChipsAtTableMap = new HashMap<>(playerToChipsAtTableMap);
}
@Override
public UUID getGameId() {
return gameId;
}
public UUID getHandId() {
return handId;
}
public Map<UUID, Integer> getPlayerToChipsAtTableMap() {
return new HashMap<>(playerToChipsAtTableMap);
}
}