public final class DailyBreakdown extends DatedBreakdown implements java.io.Serializable
DatedBreakdown used to specify that degree days should
 be broken down on a daily basis and cover a specific Period in time.Instances of this class are immutable. You can safely reuse them and call them from multiple threads at once.
| Constructor and Description | 
|---|
DailyBreakdown(Period period)
Constructs a  
DailyBreakdown object that specifies daily
 degree days covering the specified period in time. | 
| Modifier and Type | Method and Description | 
|---|---|
DayRange | 
getFullRangeOrNull(DayRange availableDataRange)
Returns the range of days that this breakdown would cover given source
 data covering  
availableDataRange, or null if
 availableDataRange would not be enough for this breakdown. | 
Period | 
period()
Returns the non-null period in time that the daily breakdown should
 cover. 
 | 
MaybeEmptyDayRanges | 
toDayRanges(DayRange availableDataRange)
Returns the breakdown in terms of the day ranges that would constitute it
 given source data covering  
availableDataRange. | 
java.lang.String | 
toString()
Returns a non-null, non-empty string representation of this object for logging and debugging purposes. 
 | 
DailyBreakdown | 
withAllowPartialLatest(boolean allowPartialLatest)
Returns a  
DailyBreakdown with the same period() as
 this, but with the DatedBreakdown.allowPartialLatest() property
 set to the specified value. | 
allowPartialLatest, custom, daily, monthly, monthly, weekly, yearly, yearlypublic DailyBreakdown(Period period)
DailyBreakdown object that specifies daily
 degree days covering the specified period in time.period - the period in time that the daily breakdown should cover.
        Cannot be null.java.lang.NullPointerException - if period is null.public Period period()
public DailyBreakdown withAllowPartialLatest(boolean allowPartialLatest)
DailyBreakdown with the same period() as
 this, but with the DatedBreakdown.allowPartialLatest() property
 set to the specified value.
 
 
 The allowPartialLatest property makes it possible to fetch
 time-series data
 (like hourly temperature data) that includes
 time-series-data
 values for the current (incomplete) day. See
 DatedBreakdown.allowPartialLatest() for more on how it works.
 
allowPartialLatest - true to specify that the latest
        day of time-series data can be partially filled (i.e. incomplete),
        or false if the latest day must be complete (the
        default behaviour).DatedBreakdown.allowPartialLatest()public MaybeEmptyDayRanges toDayRanges(DayRange availableDataRange)
availableDataRange.
 
 
 If you call fullRangeOrNull() on the return value, you'll get the same result that
 you'd get by calling getFullRangeOrNull(availableDataRange) on this object. Essentially this
 method is a more detailed version of getFullRangeOrNull that
 makes sense for dated breakdowns, which translate to real ranges of days
 on a calendar (unlike average breakdowns which are broken down into
 months of an "average year" rather than applying to a real calendar).
 
toDayRanges in class DatedBreakdownavailableDataRange - the range of temperature data available (or the
        available range of daily degree-day data if summing daily degree
        days into a different breakdown). Cannot be null.java.lang.NullPointerException - if availableDataRange is
         null.public DayRange getFullRangeOrNull(DayRange availableDataRange)
availableDataRange, or null if
 availableDataRange would not be enough for this breakdown.getFullRangeOrNull in class BreakdownavailableDataRange - the range of temperature data available (or the
        available range of daily degree-day data if summing daily degree
        days into a different breakdown). Cannot be null.java.lang.NullPointerException - if availableDataRange is
         null.public java.lang.String toString()
The exact details of the representation are unspecified and subject to change.
toString in class java.lang.Object
See www.degreedays.net/api/ for more about the Degree Days.net API.
You can sign up for a Degree Days.net API account and read the integration guide that is useful and applicable whether you are using Java or not.