frepple::Plan Class Reference
This is the (logical) top class of the complete model. More...
#include <model.h>

Public Member Functions | |
void | beginElement (XMLInput &, const Attribute &) |
void | endElement (XMLInput &, const Attribute &, const DataElement &) |
PyObject * | getattro (const Attribute &) |
const Date & | getCurrent () const |
const string & | getDescription () const |
const string & | getName () const |
virtual size_t | getSize () const |
const MetaClass & | getType () const |
int | setattro (const Attribute &, const PythonObject &) |
void | setCurrent (Date) |
void | setDescription (const string &str) |
void | setName (const string &s) |
virtual void | solve (Solver &s, void *v=NULL) const |
virtual void | updateProblems () |
virtual void | writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const |
~Plan () | |
Static Public Member Functions | |
static int | initialize () |
static Plan & | instance () |
Static Public Attributes | |
static const MetaCategory * | metadata |
Detailed Description
This is the (logical) top class of the complete model.
This is a singleton class: only a single instance can be created. The data model has other limitations that make it not obvious to support building multiple models/plans in memory of the same application: e.g. the operations, resources, problems, operationplans... etc are all implemented in static, global lists. An entity can't be simply linked with a particular plan if multiple ones would exist.
Definition at line 4210 of file model.h.
Constructor & Destructor Documentation
frepple::Plan::~Plan | ( | ) |
Member Function Documentation
Called while restoring the model from an XML-file.
This is called for each element within the "this" element, for which the "this" element is immediate parent.
It is called when the open element tag is encountered.
Reimplemented from frepple::utils::Object.
void frepple::Plan::endElement | ( | XMLInput & | pIn, | |
const Attribute & | pAttr, | |||
const DataElement & | pElement | |||
) | [virtual] |
Reimplemented from frepple::Plannable.
PyObject * frepple::Plan::getattro | ( | const Attribute & | attr | ) | [virtual] |
Default getattro method.
Subclasses are expected to implement an override if the type supports gettattro.
Reimplemented from frepple::utils::PythonExtensionBase.
const Date& frepple::Plan::getCurrent | ( | ) | const [inline] |
const string& frepple::Plan::getDescription | ( | ) | const [inline] |
const string& frepple::Plan::getName | ( | ) | const [inline] |
virtual size_t frepple::Plan::getSize | ( | ) | const [inline, virtual] |
Return the memory size of the object in bytes.
Implements frepple::utils::Object.
const MetaClass& frepple::Plan::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.
int frepple::Plan::initialize | ( | ) | [static] |
static Plan& frepple::Plan::instance | ( | ) | [inline, static] |
int frepple::Plan::setattro | ( | const Attribute & | attr, | |
const PythonObject & | field | |||
) | [virtual] |
Default setattro method.
Subclasses are expected to implement an override if the type supports settattro.
Reimplemented from frepple::utils::PythonExtensionBase.
void frepple::Plan::setCurrent | ( | Date | l | ) |
void frepple::Plan::setDescription | ( | const string & | str | ) | [inline] |
void frepple::Plan::setName | ( | const string & | s | ) | [inline] |
virtual void frepple::Plan::solve | ( | Solver & | s, | |
void * | v = NULL | |||
) | const [inline, virtual] |
This method basically solves the whole planning problem.
Reimplemented from frepple::Solvable.
virtual void frepple::Plan::updateProblems | ( | ) | [inline, virtual] |
Called to update the list of problems. The function will only be called when:
- the list of problems is being recomputed
- AND, problem detection is enabled for this object
- AND, the object has changed since the last problem computation
Implements frepple::HasProblems.
void frepple::Plan::writeElement | ( | XMLOutput * | o, | |
const Keyword & | tag, | |||
mode | m = DEFAULT | |||
) | const [virtual] |
This method writes out the model information. Depending on a flag in the XMLOutput object a complete model is written, or only the dynamic plan information.
- See also:
- CommandSave, CommandSavePlan
Reimplemented from frepple::Plannable.
Member Data Documentation
const MetaCategory * frepple::Plan::metadata [static] |
The documentation for this class was generated from the following files:
Documentation generated for frePPLe by
