org.powertac.common
Class Timeslot

java.lang.Object
  extended by org.powertac.common.Timeslot

public class Timeslot
extends 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
Timeslot(int serial, org.joda.time.Instant start)
          Constructor is intended to be called by repository.
 
Method Summary
 int dayOfWeek()
          Returns the day of week for the start of this timeslot, starting at Monday = 1.
 org.joda.time.Instant getEndInstant()
           
 long getId()
           
 int getSerialNumber()
           
 org.joda.time.Instant getStartInstant()
           
 org.joda.time.DateTime getStartTime()
          Returns the DateTime representation of the start time for this timeslot
 int slotInDay()
          Returns the timeslot index since the most recent midnight, starting at zero.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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 Detail

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

public String toString()
Overrides:
toString in class Object


Copyright © 2013. All Rights Reserved.