Package org.powertac.common.msg
Class VariableRateUpdate
- java.lang.Object
-
- org.powertac.common.state.XStreamStateLoggable
-
- org.powertac.common.TariffMessage
-
- org.powertac.common.msg.TariffUpdate
-
- org.powertac.common.msg.VariableRateUpdate
-
- All Implemented Interfaces:
ValidatableMessage
@Domain(fields={"broker","tariffId","payload","rateId"}) public class VariableRateUpdate extends TariffUpdate
Conveys an HourlyCharge instance, labeled by its Tariff and Rate. When received by the server, the HourlyCharge simply needs to be added to its Rate. State log fields for readResolve():
new(long brokerId, long tariffId, long hourlyChargeId, long rateId)- Author:
- John Collins
-
-
Field Summary
-
Fields inherited from class org.powertac.common.TariffMessage
broker, id
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
VariableRateUpdate()
VariableRateUpdate(Broker broker, Rate rate, HourlyCharge hourlyCharge)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HourlyCharge
getHourlyCharge()
long
getHourlyChargeId()
HourlyCharge
getPayload()
conventional getter to satisfy beanutilslong
getRateId()
boolean
isValid()
By default, these are invalid.boolean
isValid(Rate rate)
Given a Rate, a VRU is valid if it has the correct ID, if the Rate is not fixed, and if the HourlyCharge specifies a value between the minValue and maxValue of the Rate.-
Methods inherited from class org.powertac.common.msg.TariffUpdate
getTariffId
-
Methods inherited from class org.powertac.common.TariffMessage
getBroker, getId
-
Methods inherited from class org.powertac.common.state.XStreamStateLoggable
readResolve
-
-
-
-
Constructor Detail
-
VariableRateUpdate
public VariableRateUpdate(Broker broker, Rate rate, HourlyCharge hourlyCharge)
-
VariableRateUpdate
protected VariableRateUpdate()
-
-
Method Detail
-
getHourlyCharge
public HourlyCharge getHourlyCharge()
-
getPayload
public HourlyCharge getPayload()
conventional getter to satisfy beanutils
-
getHourlyChargeId
public long getHourlyChargeId()
-
getRateId
public long getRateId()
-
isValid
public boolean isValid()
By default, these are invalid. You have to supply the Rate to test validity.- Specified by:
isValid
in interfaceValidatableMessage
- Overrides:
isValid
in classTariffMessage
-
isValid
public boolean isValid(Rate rate)
Given a Rate, a VRU is valid if it has the correct ID, if the Rate is not fixed, and if the HourlyCharge specifies a value between the minValue and maxValue of the Rate.
-
-