001 package org.hackystat.projectbrowser.page.sensordata; 002 003 import java.io.Serializable; 004 import java.util.List; 005 006 import org.hackystat.sensorbase.resource.projects.jaxb.MultiDayProjectSummary; 007 import org.hackystat.sensorbase.resource.projects.jaxb.Project; 008 import org.hackystat.sensorbase.resource.projects.jaxb.ProjectSummary; 009 010 /** 011 * Provides a model for the summary of sdts and their counts. 012 * @author Philip Johnson. 013 */ 014 public class SdtSummaryModel implements Serializable { 015 016 private static final long serialVersionUID = 1L; 017 private Project project = null; 018 private List<ProjectSummary> projectSummaries = null; 019 020 /** 021 * The default constructor, required by Wicket. 022 */ 023 public SdtSummaryModel() { 024 // does nothing. 025 } 026 027 /** 028 * Returns the list of ProjectSummary instances. 029 * @return The ProjectSummary instances. 030 */ 031 public List<ProjectSummary> getSummaryList() { 032 return this.projectSummaries; 033 } 034 035 /** 036 * Return the Project for this page. 037 * @return The project. 038 */ 039 public Project getProject() { 040 return this.project; 041 } 042 043 /** 044 * Updates the SdtModel with the MultiDayProjectSummary instance. 045 * @param summary The summary instance. 046 * @param project The project for this summary. 047 */ 048 public final void setModel(MultiDayProjectSummary summary, Project project) { 049 this.projectSummaries = summary.getProjectSummary(); 050 this.project = project; 051 } 052 053 /** 054 * True if this model contains no data. 055 * @return True if this model has no data. 056 */ 057 public boolean isEmpty() { 058 return this.project == null; 059 } 060 }