EventStatus.java 1.78 KB
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fi.insomnia.bortal.model;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.OneToMany;
import javax.persistence.Table;

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

import fi.insomnia.bortal.enums.EventStatusEnum;

/**
 * 
 */
@Entity
@Table(name = "event_status")
// , uniqueConstraints = { @UniqueConstraint(columnNames = { "status_name" }) })
// @NamedQueries({
// @NamedQuery(name = "EventStatus.findAll", query =
// "SELECT e FROM EventStatus e"),
// @NamedQuery(name = "EventStatus.findByStatusName", query =
// "SELECT e FROM EventStatus e WHERE e.name = :name") })
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class EventStatus extends GenericEntity {

    private static final long serialVersionUID = 1L;

    @Column(name = "status_name", nullable = false, unique = true)
    @Enumerated(EnumType.STRING)
    private EventStatusEnum name;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "status")
    private List<LanEvent> events;

    public EventStatus() {
        super();
    };

    public EventStatus(EventStatusEnum name) {
        super();
        this.name = name;
    }

    public EventStatusEnum getName() {
        return name;
    }

    public void setName(EventStatusEnum statusName) {
        this.name = statusName;
    }

    public List<LanEvent> getEvents() {
        return events;
    }

    public void setEvents(List<LanEvent> eventList) {
        this.events = eventList;
    }

}