frepple::Demand Class Reference
Represents the (independent) demand in the system. It can represent a customer order or a forecast. More...
#include <model.h>

Public Types | |
| typedef slist< OperationPlan * > | OperationPlan_list |
Public Member Functions | |
| void | addDelivery (OperationPlan *o) |
| virtual void | beginElement (XMLInput &, const Attribute &) |
| void | deleteOperationPlans (bool deleteLockedOpplans=false) |
| Demand (const string &str) | |
| virtual void | endElement (XMLInput &, const Attribute &, const DataElement &) |
| size_t | extrasize () const |
| int | getCluster () const |
| Customer * | getCustomer () const |
| const OperationPlan_list & | getDelivery () const |
| Operation * | getDeliveryOperation () const |
| const Date & | getDue () const |
| bool | getHidden () const |
| Item * | getItem () const |
| TimePeriod | getMaxLateness () const |
| double | getMinShipment () const |
| Operation * | getOperation () const |
| double | getPlannedQuantity () const |
| int | getPriority () const |
| double | getQuantity () const |
| virtual const MetaClass & | getType () const |
| void | removeDelivery (OperationPlan *o) |
| virtual void | setCustomer (Customer *c) |
| virtual void | setDue (Date d) |
| void | setHidden (bool b) |
| virtual void | setItem (Item *i) |
| virtual void | setMaxLateness (TimePeriod m) |
| virtual void | setMinShipment (double m) |
| virtual void | setOperation (Operation *o) |
| virtual void | setPriority (int i) |
| virtual void | setQuantity (double) |
| virtual void | solve (Solver &s, void *v=NULL) const |
| virtual void | updateProblems () |
| virtual void | writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const |
| virtual | ~Demand () |
Static Public Attributes | |
| static const MetaCategory | metadata |
Detailed Description
Represents the (independent) demand in the system. It can represent a customer order or a forecast.This is an abstract class.
Definition at line 3864 of file model.h.
Member Typedef Documentation
| typedef slist<OperationPlan*> frepple::Demand::OperationPlan_list |
Constructor & Destructor Documentation
| frepple::Demand::Demand | ( | const string & | str | ) | [inline, explicit] |
| virtual frepple::Demand::~Demand | ( | ) | [inline, virtual] |
Member Function Documentation
| void frepple::Demand::addDelivery | ( | OperationPlan * | o | ) |
Adds a delivery operationplan for this demand. If the policy SINGLEDELIVERY is set, any previous delivery operationplan is unregistered first.
Definition at line 134 of file demand.cpp.
Reimplemented from frepple::utils::HasHierarchy< T >.
Reimplemented in module_forecast::Forecast.
Definition at line 232 of file demand.cpp.
| void frepple::Demand::deleteOperationPlans | ( | bool | deleteLockedOpplans = false |
) |
Deletes all delivery operationplans of this demand. The boolean parameter controls whether we delete also locked operationplans or not.
Definition at line 48 of file demand.cpp.
| void frepple::Demand::endElement | ( | XMLInput & | , | |
| const Attribute & | , | |||
| const DataElement & | ||||
| ) | [virtual] |
Called while restoring the model from an XML-file. This is called when the corresponding close element tag is encountered, and the Data() member of pElement is also valid. NOTE: each object receives both its own beginElement so it can process its own element tag attributes, and its own endElement so it can process its own character data.
Reimplemented from frepple::Plannable.
Reimplemented in module_forecast::Forecast.
Definition at line 247 of file demand.cpp.
| size_t frepple::Demand::extrasize | ( | ) | const [inline] |
Returns the memory size in bytes.
Reimplemented from frepple::utils::HasDescription.
| int frepple::Demand::getCluster | ( | ) | const [inline] |
| Customer* frepple::Demand::getCustomer | ( | ) | const [inline] |
| const Demand::OperationPlan_list & frepple::Demand::getDelivery | ( | ) | const |
Returns the delivery operationplan list.
Definition at line 102 of file demand.cpp.
| Operation * frepple::Demand::getDeliveryOperation | ( | ) | const |
This function returns the operation that is to be used to satisfy this demand. In sequence of priority this goes as follows: 1) If the "operation" field on the demand is set, use it. 2) Otherwise, use the "delivery" field of the requested item. 3) Else, return NULL. This demand can't be satisfied!
Definition at line 171 of file demand.cpp.
| const Date& frepple::Demand::getDue | ( | ) | const [inline] |
| bool frepple::Demand::getHidden | ( | ) | const [inline, virtual] |
Returns true if this demand is to be hidden from serialization.
Reimplemented from frepple::utils::Object.
| Item* frepple::Demand::getItem | ( | ) | const [inline] |
| TimePeriod frepple::Demand::getMaxLateness | ( | ) | const [inline] |
| double frepple::Demand::getMinShipment | ( | ) | const [inline] |
| Operation* frepple::Demand::getOperation | ( | ) | const [inline] |
| double frepple::Demand::getPlannedQuantity | ( | ) | const |
Returns the total amount that has been planned.
Definition at line 182 of file demand.cpp.
| int frepple::Demand::getPriority | ( | ) | const [inline] |
| double frepple::Demand::getQuantity | ( | ) | const [inline] |
| virtual const MetaClass& frepple::Demand::getType | ( | ) | const [inline, virtual] |
This returns the type information on the object, a bit similar to the standard type_info information.
Implements frepple::utils::Object.
Reimplemented in frepple::DemandDefault, module_forecast::Forecast, and module_forecast::ForecastBucket.
| void frepple::Demand::removeDelivery | ( | OperationPlan * | o | ) |
Removes a delivery operationplan for this demand.
Definition at line 72 of file demand.cpp.
| virtual void frepple::Demand::setCustomer | ( | Customer * | c | ) | [inline, virtual] |
Updates the customer.
Reimplemented in module_forecast::Forecast.
| virtual void frepple::Demand::setDue | ( | Date | d | ) | [inline, virtual] |
| void frepple::Demand::setHidden | ( | bool | b | ) | [inline, virtual] |
Specifies whether of not this demand is to be hidden from serialization. The default value is false.
Reimplemented from frepple::utils::Object.
| virtual void frepple::Demand::setItem | ( | Item * | i | ) | [inline, virtual] |
Updates the item/product being requested.
Reimplemented in module_forecast::Forecast.
| virtual void frepple::Demand::setMaxLateness | ( | TimePeriod | m | ) | [inline, virtual] |
Updates the maximum allowed lateness for this demand.
The default value is infinite.
The argument must be a positive time period.
Reimplemented in module_forecast::Forecast.
| virtual void frepple::Demand::setMinShipment | ( | double | m | ) | [inline, virtual] |
Updates the maximum allowed lateness for this demand.
The default value is infinite.
The argument must be a positive time period.
Reimplemented in module_forecast::Forecast.
| virtual void frepple::Demand::setOperation | ( | Operation * | o | ) | [inline, virtual] |
Updates the operation being used to plan the demand.
Reimplemented in module_forecast::Forecast.
| virtual void frepple::Demand::setPriority | ( | int | i | ) | [inline, virtual] |
Updates the due date of the demand.
Lower numbers indicate a higher priority level.
Reimplemented in module_forecast::Forecast.
| void frepple::Demand::setQuantity | ( | double | f | ) | [virtual] |
Updates the quantity of the demand. The quantity must be be greater than or equal to 0.
Reimplemented in module_forecast::Forecast.
Definition at line 36 of file demand.cpp.
| virtual void frepple::Demand::solve | ( | Solver & | s, | |
| void * | v = NULL | |||
| ) | const [inline, virtual] |
This method is called by solver classes. The implementation of this class simply calls the solve method on the solver class. Using the polymorphism the solver can implement seperate methods for different plannable subclasses.
Reimplemented from frepple::Solvable.
| void frepple::Demand::updateProblems | ( | ) | [virtual] |
Recompute the problems.
Implements frepple::HasProblems.
Definition at line 35 of file problems_demand.cpp.
| void frepple::Demand::writeElement | ( | XMLOutput * | , | |
| const Keyword & | , | |||
| mode | = DEFAULT | |||
| ) | const [virtual] |
Called while writing the model into an XML-file. The user class should write itself out, using the IOutStream members for its "simple" members and calling writeElement recursively for any contained objects. Not all classes are expected to implement this method. In instances of such a class can be created but can't be persisted. E.g. Command
Reimplemented from frepple::Plannable.
Reimplemented in module_forecast::Forecast.
Definition at line 191 of file demand.cpp.
Member Data Documentation
const MetaCategory frepple::Demand::metadata [static] |
Reimplemented in frepple::DemandDefault, module_forecast::Forecast, and module_forecast::ForecastBucket.
The documentation for this class was generated from the following files:
Documentation generated by
