Object is the abstract base class for the main entities. More...
#include <utils.h>
Public Member Functions | |
virtual void | beginElement (XMLInput &, const Attribute &) |
virtual void | endElement (XMLInput &, const Attribute &, const DataElement &)=0 |
virtual bool | getHidden () const |
virtual size_t | getSize () const =0 |
virtual const MetaClass & | getType () const =0 |
Object () | |
virtual void | setHidden (bool b) |
virtual void | writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const |
virtual | ~Object () |
Static Public Member Functions | |
template<class T > | |
static PyObject * | create (PyTypeObject *pytype, PyObject *args, PyObject *kwds) |
template<class T > | |
static Object * | createDefault () |
template<class T > | |
static Object * | createString (const string &n) |
static PyObject * | toXML (PyObject *, PyObject *) |
Object is the abstract base class for the main entities.
It handles to following capabilities:
Definition at line 3145 of file utils.h.
frepple::utils::Object::Object | ( | ) | [inline, explicit] |
virtual frepple::utils::Object::~Object | ( | ) | [inline, virtual] |
virtual void frepple::utils::Object::beginElement | ( | XMLInput & | , | |
const Attribute & | ||||
) | [inline, virtual] |
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 in frepple::Calendar, frepple::CalendarPointer< T >, frepple::SetupMatrix, frepple::Plan, frepple::utils::HasHierarchy< T >, frepple::utils::HasHierarchy< Item >, frepple::utils::HasHierarchy< Location >, frepple::utils::HasHierarchy< Demand >, frepple::utils::HasHierarchy< Customer >, frepple::utils::HasHierarchy< Resource >, and frepple::utils::HasHierarchy< Buffer >.
static PyObject* frepple::utils::Object::create | ( | PyTypeObject * | pytype, | |
PyObject * | args, | |||
PyObject * | kwds | |||
) | [inline, static] |
static Object* frepple::utils::Object::createDefault | ( | ) | [inline, static] |
static Object* frepple::utils::Object::createString | ( | const string & | n | ) | [inline, static] |
virtual void frepple::utils::Object::endElement | ( | XMLInput & | , | |
const Attribute & | , | |||
const DataElement & | ||||
) | [pure 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.
Implemented in frepple::Calendar, frepple::CalendarValue< T >, frepple::CalendarPointer< T >, frepple::Problem, frepple::Solver, frepple::SetupMatrix::Rule, frepple::SetupMatrix, frepple::Plan, frepple::PeggingIterator, frepple::SolverMRP, frepple::utils::HasName< T >, frepple::utils::HasHierarchy< T >, module_lp_solver::LPSolver, frepple::utils::HasName< Item >, frepple::utils::HasName< Location >, frepple::utils::HasName< Calendar >, frepple::utils::HasName< Solver >, frepple::utils::HasName< SetupMatrix >, frepple::utils::HasName< Demand >, frepple::utils::HasName< Customer >, frepple::utils::HasName< Resource >, frepple::utils::HasName< Operation >, frepple::utils::HasName< Buffer >, frepple::utils::HasHierarchy< Item >, frepple::utils::HasHierarchy< Location >, frepple::utils::HasHierarchy< Demand >, frepple::utils::HasHierarchy< Customer >, frepple::utils::HasHierarchy< Resource >, and frepple::utils::HasHierarchy< Buffer >.
virtual bool frepple::utils::Object::getHidden | ( | ) | const [inline, virtual] |
virtual size_t frepple::utils::Object::getSize | ( | ) | const [pure virtual] |
Return the memory size of the object in bytes.
Implemented in frepple::Calendar, frepple::CalendarString, frepple::SetupMatrix::Rule, frepple::SetupMatrix, frepple::SetupMatrixDefault, frepple::Plan, frepple::ProblemBeforeCurrent, frepple::ProblemBeforeFence, frepple::ProblemPrecedence, frepple::ProblemDemandNotPlanned, frepple::ProblemLate, frepple::ProblemEarly, frepple::ProblemShort, frepple::ProblemExcess, frepple::ProblemCapacityOverload, frepple::ProblemCapacityUnderload, frepple::ProblemMaterialShortage, frepple::ProblemMaterialExcess, frepple::PeggingIterator, frepple::SolverMRP, module_forecast::ForecastSolver, and module_lp_solver::LPSolver.
virtual const MetaClass& frepple::utils::Object::getType | ( | ) | const [pure virtual] |
This returns the type information on the object, a bit similar to the standard type_info information.
Implemented in frepple::Calendar, frepple::CalendarValue< T >, frepple::CalendarPointer< T >, frepple::CalendarVoid, frepple::CalendarDouble, frepple::CalendarInt, frepple::CalendarBool, frepple::CalendarString, frepple::CalendarOperation, frepple::Problem, frepple::Solver, frepple::SetupMatrix::Rule, frepple::SetupMatrix, frepple::SetupMatrixDefault, frepple::Plan, frepple::ProblemBeforeCurrent, frepple::ProblemBeforeFence, frepple::ProblemPrecedence, frepple::ProblemDemandNotPlanned, frepple::ProblemLate, frepple::ProblemEarly, frepple::ProblemShort, frepple::ProblemExcess, frepple::ProblemCapacityOverload, frepple::ProblemCapacityUnderload, frepple::ProblemMaterialShortage, frepple::ProblemMaterialExcess, frepple::PeggingIterator, frepple::SolverMRP, module_forecast::ForecastSolver, module_lp_solver::LPSolver, frepple::CalendarValue< double >, frepple::CalendarValue< int >, frepple::CalendarValue< string >, frepple::CalendarValue< bool >, and frepple::CalendarPointer< Operation >.
virtual void frepple::utils::Object::setHidden | ( | bool | b | ) | [inline, virtual] |
PyObject * frepple::utils::Object::toXML | ( | PyObject * | self, | |
PyObject * | args | |||
) | [static] |
Return an XML representation of the object.
If a file object is passed as argument, the representation is directly written to it.
If no argument is given the representation is returned as a string.
Definition at line 459 of file pythonutils.cpp.
virtual void frepple::utils::Object::writeElement | ( | XMLOutput * | , | |
const Keyword & | , | |||
mode | = DEFAULT | |||
) | const [inline, 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 in frepple::Calendar, frepple::CalendarValue< T >, frepple::CalendarPointer< T >, frepple::Problem, frepple::Solver, frepple::SetupMatrix::Rule, frepple::SetupMatrix, frepple::Plan, frepple::SolverMRP, frepple::utils::HasHierarchy< T >, module_forecast::ForecastSolver, module_lp_solver::LPSolver, frepple::utils::HasHierarchy< Item >, frepple::utils::HasHierarchy< Location >, frepple::utils::HasHierarchy< Demand >, frepple::utils::HasHierarchy< Customer >, frepple::utils::HasHierarchy< Resource >, and frepple::utils::HasHierarchy< Buffer >.