Package org.powertac.common
Class Timeslot
java.lang.Object
org.powertac.common.Timeslot
- All Implemented Interfaces:
Comparable<Object>
public class Timeslot extends Object implements Comparable<Object>
A timeslot instance describes an interval of time (slot) for which power may be
traded in the wholesale market. The duration of a timeslot is given by
currentCompetition.getTimeslotLength().
Timeslots are uniquely identified
by their serial numbers, which is the number of timeslots since
currentCompetition.getSimulationBaseTime().
Timeslots are used (i) to correlate tradeable products (energy futures) and trades in the market with a future time interval where settlement (i.e. delivery / consumption) has to take place, (ii) to correlate meter readings with a duration in time, (iii) to allow tariffs to define different consumption / production prices for different times of a day. Timeslots are represented in server-broker communications by serial number.
This is an immutable type, so no state logging is needed. Creation events are logged by the repository.
- Author:
- Carsten Block, John Collins
-
Constructor Summary
Constructors Constructor Description Timeslot(int serial, org.joda.time.Instant start)Constructor is intended to be called by repository. -
Method Summary
Modifier and Type Method Description intcompareTo(Object arg)intdayOfWeek()Returns the day of week for the start of this timeslot, starting at Monday = 1.org.joda.time.InstantgetEndInstant()longgetId()intgetSerialNumber()org.joda.time.InstantgetStartInstant()org.joda.time.DateTimegetStartTime()Returns the DateTime representation of the start time for this timeslotintslotInDay()Returns the timeslot index since the most recent midnight, starting at zero.StringtoString()
-
Constructor Details
-
Timeslot
public Timeslot(int serial, org.joda.time.Instant start)Constructor is intended to be called by repository. Note that Timeslots are initially enabled. If you want to create a disabled timeslot, you have to call disable() after creating it.
-
-
Method Details
-
getSerialNumber
public int getSerialNumber() -
getId
public long getId() -
getStartInstant
public org.joda.time.Instant getStartInstant() -
getEndInstant
public org.joda.time.Instant getEndInstant() -
getStartTime
public org.joda.time.DateTime getStartTime()Returns the DateTime representation of the start time for this timeslot -
slotInDay
public int slotInDay()Returns the timeslot index since the most recent midnight, starting at zero. Note that this is hourOfDay if timeslots are one hour. Assumes tz = 0. -
dayOfWeek
public int dayOfWeek()Returns the day of week for the start of this timeslot, starting at Monday = 1. -
toString
-
compareTo
- Specified by:
compareToin interfaceComparable<Object>
-