LicenseCode.java 2.2 KB
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fi.codecrew.moya.model;

import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.eclipse.persistence.annotations.OptimisticLocking;
import org.eclipse.persistence.annotations.OptimisticLockingType;

/**
 * 
 */
@Entity
@Table(name = "licensecodes")
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class LicenseCode extends GenericEntity {

    private static final long serialVersionUID = 1L;

    @Column(name = "accessed", nullable = true)
    @Temporal(TemporalType.TIMESTAMP)
    private Calendar accessed = null;

    @Column(name = "code")
    private String code;

    @JoinColumn(name = "game_id", referencedColumnName = "id")
    @ManyToOne
    private LicenseTarget game;

    @JoinColumn(name = "user_id", referencedColumnName = "id")
    @ManyToOne
    private User user;
    
    @JoinColumn(name = "place_id", referencedColumnName = "id")
    @ManyToOne
    private Place place;
    
    

    public LicenseCode() {
        super();
    }
    
    
    public LicenseCode(Place place, LicenseTarget game) {
        this();
        this.place = place;
        this.game = game;
    }


    public boolean isAccessed() {
        return (accessed != null);
    }

    public Calendar getAccessed() {
        return accessed;
    }



    public void setAccessed(Calendar accessed) {
        this.accessed = accessed;
    }



    public String getCode() {
        return code;
    }



    public void setCode(String code) {
        this.code = code;
    }



    public LicenseTarget getGame() {
        return game;
    }



    public void setGame(LicenseTarget game) {
        this.game = game;
    }



    public User getUser() {
        return user;
    }



    public void setUser(User user) {
        this.user = user;
    }



    public Place getPlace() {
        return place;
    }



    public void setPlace(Place place) {
        this.place = place;
    }

}