Package org.powertac.common
Class HourlyCharge
java.lang.Object
org.powertac.common.state.XStreamStateLoggable
org.powertac.common.HourlyCharge
- All Implemented Interfaces:
Comparable<HourlyCharge>
@Domain(fields={"rateId","value","atTime"}) 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)
new(long rateId, double value, Instant atTime)
- Author:
- jcollins
-
Field Summary
Fields Modifier and Type Field Description protected org.joda.time.InstantatTime -
Constructor Summary
Constructors Modifier Constructor Description protectedHourlyCharge()HourlyCharge(org.joda.time.Instant when, double charge)Creates a new HourlyCharge to communicate rate information to customers. -
Method Summary
-
Field Details
-
atTime
protected org.joda.time.Instant atTime
-
-
Constructor Details
-
HourlyCharge
public HourlyCharge(org.joda.time.Instant when, double charge)Creates a new HourlyCharge to communicate rate information to customers. Thewhenparameter 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 Details
-
getId
public long getId() -
setRateId
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
- Specified by:
compareToin interfaceComparable<HourlyCharge>
-