/* =================================================================== * ReportingConsumptionDatum.java * * Created Aug 11, 2009 3:54:43 PM * * Copyright (c) 2009 Solarnetwork.net Dev Team. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA * 02111-1307 USA * =================================================================== * $Id$ * =================================================================== */ package net.solarnetwork.central.datum.domain; import net.solarnetwork.central.domain.EntityMatch; import org.joda.time.LocalDate; import org.joda.time.LocalDateTime; import org.joda.time.LocalTime; /** * Extension of {@link ConsumptionDatum} with some additional properties geared * towards reporting. * * @author matt * @version 1.1 */ public class ReportingConsumptionDatum extends ConsumptionDatum implements WattHourDatum, ReportingDatum, EntityMatch { private static final long serialVersionUID = -6376812878462350574L; private Double wattHours; private Double cost; private String currency; private LocalDateTime localDateTime; @Override public String toString() { return "ReportingConsumptionDatum{sourceId=" + getSourceId() + ",watts=" + getWatts() + ",wattHours=" + getWattHours() + ",cost=" + getCost() + ",currency=" + getCurrency() + '}'; } @Override public LocalDate getLocalDate() { if ( localDateTime == null ) { return null; } return localDateTime.toLocalDate(); } @Override public LocalTime getLocalTime() { if ( localDateTime == null ) { return null; } return localDateTime.toLocalTime(); } public void setLocalDateTime(LocalDateTime localDateTime) { this.localDateTime = localDateTime; } @Override public Double getWattHours() { return wattHours; } public void setWattHours(Double wattHours) { this.wattHours = wattHours; } @Override public Double getCost() { return cost; } public void setCost(Double cost) { this.cost = cost; } @Override public String getCurrency() { return currency; } public void setCurrency(String currency) { this.currency = currency; } }