org.powertac.common
Class HourlyCharge

java.lang.Object
  extended by org.powertac.common.state.XStreamStateLoggable
      extended by org.powertac.common.HourlyCharge
All Implemented Interfaces:
Comparable<HourlyCharge>

public class HourlyCharge
extends XStreamStateLoggable
implements Comparable<HourlyCharge>

Represents the cost of power during a specific timeslot in a variable Rate. The value slot represents the charge/kWh; atTime is the Instant at the start of the relevant timeslot. Therefore, the charge is in effect from atTime until atTime + 1 hour. These are created by brokers and sent to the server to update tariff pricing. State log fields for readResolve():
new(long rateId, double value, Instant atTime)

Author:
jcollins

Field Summary
protected  org.joda.time.Instant atTime
           
 
Constructor Summary
protected HourlyCharge()
           
  HourlyCharge(org.joda.time.Instant when, double charge)
          Creates a new HourlyCharge to communicate rate information to customers.
 
Method Summary
 int compareTo(HourlyCharge obj)
           
 org.joda.time.Instant getAtTime()
           
 long getId()
           
 long getRateId()
           
 double getValue()
           
 void setRateId(long rateId)
          Sets connection between rate and hourly charge.
 
Methods inherited from class org.powertac.common.state.XStreamStateLoggable
readResolve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

atTime

protected org.joda.time.Instant atTime
Constructor Detail

HourlyCharge

public HourlyCharge(org.joda.time.Instant when,
                    double charge)
Creates a new HourlyCharge to communicate rate information to customers. The when parameter specifies when this charge takes effect. The specified charge/kWh applies until the next HourlyCharge takes effect on the same Rate. Note that the numbers are interpreted from the viewpoint of the Customer, so if the customer is expected to pay the broker, the value should be negative (a debit).


HourlyCharge

protected HourlyCharge()
Method Detail

getId

public long getId()

setRateId

public void setRateId(long rateId)
Sets connection between rate and hourly charge. An instance with the default rateId is not considered complete. This method is intended to be called from Rate when the instance is added to the rate.


getRateId

public long getRateId()

getValue

public double getValue()

getAtTime

public org.joda.time.Instant getAtTime()

compareTo

public int compareTo(HourlyCharge obj)
Specified by:
compareTo in interface Comparable<HourlyCharge>


Copyright © 2013. All Rights Reserved.