frepple::Plannable Class Reference

This class needs to be implemented by all classes that implement dynamic behavior in the plan. More...

#include <model.h>

Inheritance diagram for frepple::Plannable:
frepple::utils::Object frepple::HasProblems frepple::Solvable frepple::Buffer frepple::Demand frepple::Operation frepple::Plan frepple::Resource frepple::BufferDefault frepple::BufferInfinite frepple::BufferProcure frepple::DemandDefault module_forecast::Forecast module_forecast::ForecastBucket frepple::OperationAlternate frepple::OperationFixedTime frepple::OperationRouting frepple::OperationTimePer frepple::ResourceDefault frepple::ResourceInfinite

List of all members.

Public Member Functions

virtual void endElement (XMLInput &, const Attribute &, const DataElement &)
bool getChanged () const
bool getDetectProblems () const
PlannablegetEntity () const
 Plannable ()
void setChanged (bool b=true)
void setDetectProblems (bool b)
virtual void writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const

Static Public Member Functions

static void computeProblems ()

Detailed Description

This class needs to be implemented by all classes that implement dynamic behavior in the plan.

The problem detection logic is implemented in the detectProblems() method. For performance reasons, problem detection is "lazy", i.e. problems are computed only when somebody really needs the access to the list of problems.

Definition at line 1131 of file model.h.


Constructor & Destructor Documentation

frepple::Plannable::Plannable (  )  [inline]

Constructor.

Definition at line 1135 of file model.h.


Member Function Documentation

void frepple::Plannable::computeProblems (  )  [static]

Loops through all plannable objects and updates their problems if required.

Definition at line 119 of file problem.cpp.

void frepple::Plannable::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.

Implements frepple::utils::Object.

Reimplemented in frepple::Operation, frepple::OperationFixedTime, frepple::OperationTimePer, frepple::OperationRouting, frepple::OperationAlternate, frepple::Buffer, frepple::BufferProcure, frepple::Resource, frepple::Plan, frepple::Demand, and module_forecast::Forecast.

Definition at line 169 of file problem.cpp.

bool frepple::Plannable::getChanged (  )  const [inline]

See if this entity has changed since the last problem problem detection run.

Definition at line 1150 of file model.h.

bool frepple::Plannable::getDetectProblems (  )  const [inline]

Returns whether or not this object needs to detect problems.

Definition at line 1142 of file model.h.

Plannable* frepple::Plannable::getEntity (  )  const [inline, virtual]

Implement the pure virtual function from the HasProblem class.

Implements frepple::HasProblems.

Definition at line 1157 of file model.h.

void frepple::Plannable::setChanged ( bool  b = true  )  [inline]

Mark that this entity has been updated and that the problem detection needs to be redone.

Definition at line 1154 of file model.h.

void frepple::Plannable::setDetectProblems ( bool  b  ) 

Specify whether this entity reports problems.

Definition at line 105 of file problem.cpp.

void frepple::Plannable::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::utils::Object.

Reimplemented in frepple::Operation, frepple::OperationFixedTime, frepple::OperationTimePer, frepple::OperationRouting, frepple::OperationAlternate, frepple::Buffer, frepple::BufferInfinite, frepple::BufferProcure, frepple::Resource, frepple::ResourceInfinite, frepple::Plan, frepple::Demand, and module_forecast::Forecast.

Definition at line 159 of file problem.cpp.


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

Generated on 25 Feb 2010 for frePPLe by  doxygen 1.6.1