package com.github.andlyticsproject.model;
import java.util.Date;
public class RevenueSummary {
private Long id;
private Revenue.Type type;
private String currency;
private Date date;
private Revenue lastDay;
private Revenue last7Days;
private Revenue last30Days;
private Revenue overall;
public static RevenueSummary createTotal(String currency, Date date, double lastDay,
double last7Days, double last30Days, double overall) {
return new RevenueSummary(Revenue.Type.TOTAL, currency, date, lastDay, last7Days,
last30Days, overall);
}
public static RevenueSummary createSales(String currency, Date date, double lastDay,
double last7Days, double last30Days, double overall) {
return new RevenueSummary(Revenue.Type.APP_SALES, currency, date, lastDay, last7Days,
last30Days, overall);
}
public static RevenueSummary createInApp(String currency, Date date, double lastDay,
double last7Days, double last30Days, double overall) {
return new RevenueSummary(Revenue.Type.IN_APP, currency, date, lastDay, last7Days,
last30Days, overall);
}
public RevenueSummary(Revenue.Type type, String currency, Date date, double lastDay,
double last7Days, double last30Days, double overall) {
this.type = type;
this.date = (Date) date.clone();
this.currency = currency;
this.lastDay = new Revenue(type, lastDay, currency);
this.last7Days = new Revenue(type, last7Days, currency);
this.last30Days = new Revenue(type, last30Days, currency);
this.overall = new Revenue(type, overall, currency);
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Revenue.Type getType() {
return type;
}
public String getCurrency() {
return currency;
}
public Date getDate() {
return (Date) date.clone();
}
public Revenue getLastDay() {
return lastDay;
}
public Revenue getLast7Days() {
return last7Days;
}
public Revenue getLast30Days() {
return last30Days;
}
public Revenue getOverall() {
return overall;
}
public boolean hasRevenue() {
return overall.getAmount() > 0 || last30Days.getAmount() > 0;
}
}