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 &) |
const Date & | getCurrent () const |
const string & | getDescription () const |
const string & | getName () const |
virtual size_t | getSize () const |
const MetaClass & | getType () const |
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 Plan & | instance () |
Static Public Attributes | |
static const MetaCategory * | metadata |
Friends | |
void | LibraryModel::initialize () |
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 3601 of file model.h.
frepple::Plan::~Plan | ( | ) |
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 & | , | |
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 valid.
Reimplemented from frepple::Plannable.
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.
static Plan& frepple::Plan::instance | ( | ) | [inline, static] |
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:
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.
Reimplemented from frepple::Plannable.
void LibraryModel::initialize | ( | ) | [friend] |
const MetaCategory * frepple::Plan::metadata [static] |