frepple::utils::Object Class Reference

Object is the abstract base class for the main entities. More...

#include <utils.h>

Inheritance diagram for frepple::utils::Object:
frepple::utils::PythonExtensionBase frepple::Calendar::Bucket frepple::Flow frepple::Load frepple::OperationPlan frepple::PeggingIterator frepple::Plan frepple::Problem frepple::SetupMatrix::Rule frepple::utils::HasName< T > frepple::utils::HasName< Buffer > frepple::utils::HasName< Calendar > frepple::utils::HasName< Customer > frepple::utils::HasName< Demand > frepple::utils::HasName< Item > frepple::utils::HasName< Location > frepple::utils::HasName< Operation > frepple::utils::HasName< Resource > frepple::utils::HasName< SetupMatrix > frepple::utils::HasName< Solver >

List of all members.

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 MetaClassgetType () 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 ObjectcreateDefault ()
template<class T >
static ObjectcreateString (const string &n)
static PyObject * toXML (PyObject *, PyObject *)

Detailed Description

Object is the abstract base class for the main entities.

It handles to following capabilities:

Definition at line 3316 of file utils.h.


Constructor & Destructor Documentation

frepple::utils::Object::Object (  )  [inline, explicit]

Constructor.

Definition at line 3320 of file utils.h.

virtual frepple::utils::Object::~Object (  )  [inline, virtual]

Destructor.

Definition at line 3323 of file utils.h.


Member Function Documentation

virtual void frepple::utils::Object::beginElement ( XMLInput ,
const Attribute  
) [inline, virtual]
template<class T >
static PyObject* frepple::utils::Object::create ( PyTypeObject *  pytype,
PyObject *  args,
PyObject *  kwds 
) [inline, static]

Template function that generates a factory method callable from Python.

Reimplemented in frepple::OperationPlan.

Definition at line 3383 of file utils.h.

template<class T >
static Object* frepple::utils::Object::createDefault (  )  [inline, static]

This template function can generate a factory method for objects that can be constructed with their default constructor.

Definition at line 3366 of file utils.h.

template<class T >
static Object* frepple::utils::Object::createString ( const string &  n  )  [inline, static]

This template function can generate a factory method for objects that need a string argument in their constructor.

Definition at line 3374 of file utils.h.

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::Bucket, frepple::Calendar, frepple::CalendarValue< T >::BucketValue, frepple::CalendarValue< T >, frepple::CalendarPointer< T >::BucketPointer, frepple::CalendarPointer< T >, frepple::Problem, frepple::Solver, frepple::Location, frepple::Customer, frepple::Operation, frepple::OperationPlan, frepple::OperationFixedTime, frepple::OperationTimePer, frepple::OperationRouting, frepple::OperationAlternate, frepple::Item, frepple::Buffer, frepple::BufferProcure, frepple::Flow, frepple::SetupMatrix::Rule, frepple::SetupMatrix, frepple::Resource, frepple::Load, frepple::Plan, frepple::Demand, frepple::PeggingIterator, frepple::SolverMRP, frepple::utils::HasName< T >, frepple::utils::HasHierarchy< T >, module_forecast::Forecast, 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]

Returns whether an entity is real or dummy.

Reimplemented in frepple::Operation, frepple::OperationPlan, frepple::Buffer, frepple::Flow, frepple::Resource, frepple::Load, and frepple::Demand.

Definition at line 3354 of file utils.h.

virtual size_t frepple::utils::Object::getSize (  )  const [pure virtual]
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::Bucket, frepple::Calendar, frepple::CalendarValue< T >::BucketValue, frepple::CalendarValue< T >, frepple::CalendarPointer< T >::BucketPointer, frepple::CalendarPointer< T >, frepple::CalendarVoid, frepple::CalendarDouble, frepple::CalendarInt, frepple::CalendarBool, frepple::CalendarString, frepple::CalendarOperation, frepple::Problem, frepple::Solver, frepple::Location, frepple::LocationDefault, frepple::Customer, frepple::CustomerDefault, frepple::OperationPlan, frepple::OperationFixedTime, frepple::OperationSetup, frepple::OperationTimePer, frepple::OperationRouting, frepple::OperationAlternate, frepple::Item, frepple::ItemDefault, frepple::Buffer, frepple::BufferDefault, frepple::BufferInfinite, frepple::BufferProcure, frepple::Flow, frepple::FlowStart, frepple::FlowEnd, frepple::SetupMatrix::Rule, frepple::SetupMatrix, frepple::SetupMatrixDefault, frepple::Resource, frepple::ResourceDefault, frepple::ResourceInfinite, frepple::Load, frepple::Plan, frepple::Demand, frepple::DemandDefault, 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::Forecast, module_forecast::ForecastBucket, 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]

Mark the object as hidden or not. Hidden objects are not exported and are used only as dummy constructs.

Reimplemented in frepple::Operation, frepple::Buffer, frepple::Resource, and frepple::Demand.

Definition at line 3351 of file utils.h.

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]

The documentation for this class was generated from the following files:

Generated on 21 Mar 2010 for frePPLe by  doxygen 1.6.1