/* ==================================================================
* GeneralDayDatum.java - Oct 22, 2014 2:46:53 PM
*
* Copyright 2007-2014 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
* ==================================================================
*/
package net.solarnetwork.node.domain;
import java.math.BigDecimal;
import org.joda.time.LocalTime;
import com.fasterxml.jackson.annotation.JsonIgnore;
import net.solarnetwork.node.util.DateUtils;
import net.solarnetwork.util.SerializeIgnore;
/**
* Extension of {@link GeneralLocationDatum} with {@link DayDatum} support.
*
* @author matt
* @version 1.2
*/
public class GeneralDayDatum extends GeneralLocationDatum implements DayDatum {
@Override
@JsonIgnore
@SerializeIgnore
public LocalTime getSunrise() {
String time = getStatusSampleString(SUNRISE_KEY);
if ( time == null ) {
return null;
}
return DateUtils.parseLocalTime(time);
}
public void setSunrise(LocalTime value) {
putStatusSampleValue(SUNRISE_KEY, DateUtils.format(value));
}
@Override
@JsonIgnore
@SerializeIgnore
public LocalTime getSunset() {
String time = getStatusSampleString(SUNSET_KEY);
if ( time == null ) {
return null;
}
return DateUtils.parseLocalTime(time);
}
public void setSunset(LocalTime value) {
putStatusSampleValue(SUNSET_KEY, DateUtils.format(value));
}
@Override
@JsonIgnore
@SerializeIgnore
public LocalTime getMoonrise() {
String time = getStatusSampleString(MOONRISE_KEY);
if ( time == null ) {
return null;
}
return DateUtils.parseLocalTime(time);
}
public void setMoonrise(LocalTime value) {
putStatusSampleValue(MOONRISE_KEY, DateUtils.format(value));
}
@Override
@JsonIgnore
@SerializeIgnore
public LocalTime getMoonset() {
String time = getStatusSampleString(MOONSET_KEY);
if ( time == null ) {
return null;
}
return DateUtils.parseLocalTime(time);
}
public void setMoonset(LocalTime value) {
putStatusSampleValue(MOONSET_KEY, DateUtils.format(value));
}
@Override
@JsonIgnore
@SerializeIgnore
public String getSkyConditions() {
return getStatusSampleString(SKY_CONDITIONS_KEY);
}
public void setSkyConditions(String value) {
putStatusSampleValue(SKY_CONDITIONS_KEY, value);
}
@Override
@JsonIgnore
@SerializeIgnore
public BigDecimal getTemperatureMinimum() {
return getInstantaneousSampleBigDecimal(TEMPERATURE_MINIMUM_KEY);
}
public void setTemperatureMinimum(BigDecimal value) {
putInstantaneousSampleValue(TEMPERATURE_MINIMUM_KEY, value);
}
@Override
@JsonIgnore
@SerializeIgnore
public BigDecimal getTemperatureMaximum() {
return getInstantaneousSampleBigDecimal(TEMPERATURE_MAXIMUM_KEY);
}
public void setTemperatureMaximum(BigDecimal value) {
putInstantaneousSampleValue(TEMPERATURE_MAXIMUM_KEY, value);
}
@Override
@JsonIgnore
@SerializeIgnore
public String getBriefOverview() {
return getStatusSampleString(BRIEF_OVERVIEW_KEY);
}
public void setBriefOverview(String value) {
putStatusSampleValue(BRIEF_OVERVIEW_KEY, value);
}
@Override
@JsonIgnore
@SerializeIgnore
public BigDecimal getWindSpeed() {
return getInstantaneousSampleBigDecimal(WIND_SPEED_KEY);
}
public void setWindSpeed(BigDecimal value) {
putInstantaneousSampleValue(WIND_SPEED_KEY, value);
}
@Override
@JsonIgnore
@SerializeIgnore
public Integer getWindDirection() {
return getInstantaneousSampleInteger(WIND_DIRECTION_KEY);
}
public void setWindDirection(Integer value) {
putInstantaneousSampleValue(WIND_DIRECTION_KEY, value);
}
@Override
@JsonIgnore
@SerializeIgnore
public Integer getRain() {
return getInstantaneousSampleInteger(RAIN_KEY);
}
public void setRain(Integer value) {
putInstantaneousSampleValue(RAIN_KEY, value);
}
@Override
@JsonIgnore
@SerializeIgnore
public Integer getSnow() {
return getInstantaneousSampleInteger(SNOW_KEY);
}
public void setSnow(Integer value) {
putInstantaneousSampleValue(SNOW_KEY, value);
}
}