package com.flexpoker.table.command.events;
import java.util.ArrayList;
import java.util.List;
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.model.card.Card;
import com.flexpoker.table.command.framework.TableEvent;
public class CardsShuffledEvent extends BaseEvent implements TableEvent {
private final UUID gameId;
private final List<Card> shuffledDeck;
@JsonCreator
public CardsShuffledEvent(@JsonProperty(value = "aggregateId") UUID aggregateId,
@JsonProperty(value = "version") int version,
@JsonProperty(value = "gameId") UUID gameId,
@JsonProperty(value = "shuffledDeck") List<Card> shuffledDeck) {
super(aggregateId, version);
this.gameId = gameId;
this.shuffledDeck = new ArrayList<>(shuffledDeck);
}
@Override
public UUID getGameId() {
return gameId;
}
public List<Card> getShuffledDeck() {
return new ArrayList<>(shuffledDeck);
}
}