package org.fluxtream.core.domain;
import com.wordnik.swagger.annotations.ApiModel;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.Type;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
/**
* @author Candide Kemmler (candide@fluxtream.com)
*/
@Entity(name = "Dashboard")
@NamedQueries({
@NamedQuery(name = "dashboards.delete.all",
query = "DELETE FROM Dashboard dashboard WHERE dashboard.guestId=?"),
@NamedQuery(name = "dashboards.all",
query = "SELECT dashboard FROM Dashboard dashboard WHERE dashboard.guestId=?"),
@NamedQuery(name = "dashboards.maxOrder",
query = "SELECT max(dashboard.ordering) FROM Dashboard dashboard WHERE dashboard.guestId=?"),
@NamedQuery(name = "dashboards.byId",
query = "SELECT dashboard FROM Dashboard dashboard WHERE dashboard.guestId=? AND dashboard.id=?"),
@NamedQuery(name = "dashboards.byName",
query = "SELECT dashboard FROM Dashboard dashboard WHERE dashboard.guestId=? AND dashboard.name=?")
})
public class Dashboard extends AbstractEntity implements Comparable<Dashboard> {
public Dashboard() {}
public String name;
@Index(name="guestId")
public long guestId;
public int ordering;
public String widgetNames;
@Type(type="yes_no")
public boolean active;
@Override
public int compareTo(final Dashboard dashboard) {
return ordering - dashboard.ordering;
}
}