Class 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 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.