Class 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)
    Author:
    jcollins
    • 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

        @StateChange
        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()