public abstract class NeedDevelopmentScheme
extends java.lang.Object
Constructor and Description |
---|
NeedDevelopmentScheme(java.util.Map<Need,java.lang.Double> needIndicatorMap) |
Modifier and Type | Method and Description |
---|---|
abstract java.util.List<NeedEvent> |
createNeedEvents(SimulationContainer simulationContainer,
ConsumerAgent consumerAgent)
This method creates a set of NeedEvents based on the state of the consumerAgent and the simulation.
|
abstract java.util.List<NeedEvent> |
productExpiration(Product expiredProduct,
ConsumerAgent associatedConsumer,
double systemTime)
This method is generally called when a products' lifetime expired, and the model needs to
'decide' what NeedEvents are scheduled based on the properties of the product and the consumerAgent whose
product expired
|
java.util.List<NeedNeedIndicatorMap> |
sortNeedIndicatorMapByValue()
Method to sort the needIndicatorMap associated with this NeedDevelopmentScheme by its numeric values
|
java.util.List<Need> |
sortNeedsByNeedIndicatorValue()
Method to sort the needs in the needIndicatorMap associated with this NeedDevelopmentScheme by its numeric values
|
public NeedDevelopmentScheme(java.util.Map<Need,java.lang.Double> needIndicatorMap)
public abstract java.util.List<NeedEvent> createNeedEvents(SimulationContainer simulationContainer, ConsumerAgent consumerAgent)
simulationContainer
- The container the simulation runs inconsumerAgent
- The ConsumerAgent whom the needs are associated withpublic abstract java.util.List<NeedEvent> productExpiration(Product expiredProduct, ConsumerAgent associatedConsumer, double systemTime)
expiredProduct
- The product whose lifetime exceededassociatedConsumer
- The ConsumerAgent who adopted the product before its expirationsystemTime
- The time of the expiration of the productpublic java.util.List<NeedNeedIndicatorMap> sortNeedIndicatorMapByValue()
public java.util.List<Need> sortNeedsByNeedIndicatorValue()