Tournament.java 5.33 KB
package fi.codecrew.moya.model;

import fi.codecrew.moya.enums.TournamentStatus;
import fi.codecrew.moya.enums.TournamentType;
import fi.codecrew.moya.model.GenericEntity;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.*;


/**
 * Entity implementation class for Entity: Tournament
 *
 */
@Entity
@Table(name="tournaments")
public class Tournament extends GenericEntity implements Serializable {
    private static final long serialVersionUID = 1L;
	
    @Column(name="talyn_tournament_id", nullable=true)
    private Integer talynTournamentId;
    	
    @JoinColumn(name = "event_id", nullable = false)
    private LanEvent lanEvent;
    
    @Column(name="tournament_name")
    private String tournamentName;
    	
    @Column(name="registration_opens_at")
    @Temporal(TemporalType.TIMESTAMP)
    private Date registrationOpensAt;
    	
    @Column(name="registration_closes_at")
    @Temporal(TemporalType.TIMESTAMP)
    private Date registrationClosesAt;
    
    @Column(name="begins_at")
    @Temporal(TemporalType.TIMESTAMP)
    private Date beginsAt;
    
    @Column(name="tournament_type")
    @Enumerated(EnumType.STRING)
    private TournamentType tournamentType;
    
    @Column(name="tournament_status")
    @Enumerated(EnumType.STRING)
    private TournamentStatus tournamentStatus;
    
    @OneToOne
    @JoinColumn(name="tournament_root")
    private TournamentMatch tournamentRoot;
    
    @Column(name="players_per_match")
    private Integer playersPerMatch;
    
    @Column(name="players_per_team")
    private Integer playersPerTeam;
    
    @Column(name="max_participants")
    private Integer maxParticipants;

    @ManyToOne
    @JoinColumn(name="game", nullable=false)
    private TournamentGame tournamentGame;
    
    @ManyToOne
    @JoinColumn(name="rules", nullable=false)
    private TournamentRule rules;

    @ManyToOne
    @JoinColumn(name="parent_tournament")
    private Tournament parentTournament;
    
    @OneToMany(mappedBy="parentTournament")
    @OrderBy("id ASC")
    private List<Tournament> subTournaments;
    
    @OneToMany(mappedBy="tournament")
    private List<TournamentParticipant> participants;
    
    public Tournament() { super(); }

    public Integer getTalynTournamentId() {
        return talynTournamentId;
    }
    
    public void setTalynTournamentId(Integer talynTournamendId) {
        this.talynTournamentId = talynTournamendId;
    }
    
    public String getTournamentName() {
        return tournamentName;
    }
    
    public void setTournamentName(String tournamentName) {
        this.tournamentName = tournamentName;
    }
    
    public Date getRegistrationOpensAt() {
        return registrationOpensAt;
    }
    
    public void setRegistrationOpensAt(Date registrationOpensAt) {
        this.registrationOpensAt = registrationOpensAt;
    }
    
    public Date getRegistrationClosesAt() {
        return registrationClosesAt;
    }
    
    public void setRegistrationClosesAt(Date registrationClosesAt) {
        this.registrationClosesAt = registrationClosesAt;
    }
    
    public TournamentType getTournamentType() {
        return tournamentType;
    }
    
    public void setTournamentType(TournamentType tournamentType) {
        this.tournamentType = tournamentType;
    }

    public TournamentGame getTournamentGame() {
        return tournamentGame;
    }

    public void setTournamentGame(TournamentGame tournamentGame) {
        this.tournamentGame = tournamentGame;
    }

    public LanEvent getLanEvent() {
        return lanEvent;
    }

    public void setLanEvent(LanEvent lanEvent) {
        this.lanEvent = lanEvent;
    }

    public Date getBeginsAt() {
        return beginsAt;
    }

    public void setBeginsAt(Date beginsAt) {
        this.beginsAt = beginsAt;
    }

    public TournamentStatus getTournamentStatus() {
        return tournamentStatus;
    }

    public void setTournamentStatus(TournamentStatus tournamentStatus) {
        this.tournamentStatus = tournamentStatus;
    }

    public TournamentMatch getTournamentRoot() {
        return tournamentRoot;
    }

    public void setTournamentRoot(TournamentMatch tournamentRoot) {
        this.tournamentRoot = tournamentRoot;
    }

    public Integer getPlayersPerMatch() {
        return playersPerMatch;
    }

    public void setPlayersPerMatch(Integer playersPerMatch) {
        this.playersPerMatch = playersPerMatch;
    }

    public Integer getPlayersPerTeam() {
        return playersPerTeam;
    }

    public void setPlayersPerTeam(Integer playersPerTeam) {
        this.playersPerTeam = playersPerTeam;
    }

    public List<Tournament> getSubTournaments() {
        return subTournaments;
    }

    public void setSubTournaments(List<Tournament> subTournaments) {
        this.subTournaments = subTournaments;
    }
    public TournamentRule getRules() {
        return rules;
    }

    public void setRules(TournamentRule rules) {
        this.rules = rules;
    }
    
    public Integer getMaxParticipants() {
        return maxParticipants;
    }

    public void setMaxParticipants(Integer maxParticipants) {
        this.maxParticipants = maxParticipants;
    }

    public List<TournamentParticipant> getParticipants() {
        return participants;
    }

    public void setTournamentParticipants(List<TournamentParticipant> participants) {
        this.participants = participants;
    }
}