This class represents a choice between multiple operations. The alternates are sorted in order of priority. More...
#include <model.h>
Public Types | |
typedef pair< int, DateRange > | alternateProperty |
Public Member Functions | |
void | addAlternate (Operation *, int=1, DateRange=DateRange()) |
void | beginElement (XMLInput &, const Attribute &) |
void | endElement (XMLInput &, const Attribute &, const DataElement &) |
virtual PyObject * | getattro (const Attribute &) |
const alternateProperty & | getProperties (Operation *o) const |
SearchMode | getSearch () const |
virtual size_t | getSize () const |
virtual const Operationlist & | getSubOperations () const |
virtual const MetaClass & | getType () const |
OperationAlternate (const string &c) | |
void | removeSubOperation (Operation *) |
virtual int | setattro (const Attribute &, const PythonObject &) |
void | setEffective (Operation *, DateRange) |
OperationPlanState | setOperationPlanParameters (OperationPlan *, double, Date, Date, bool=true, bool=true) const |
void | setPriority (Operation *, int) |
void | setSearch (const string a) |
virtual void | solve (Solver &s, void *v=NULL) const |
void | writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const |
~OperationAlternate () | |
Static Public Member Functions | |
static PyObject * | addAlternate (PyObject *, PyObject *, PyObject *) |
static int | initialize () |
Static Public Attributes | |
static const MetaClass * | metadata |
Protected Member Functions | |
virtual bool | extraInstantiate (OperationPlan *o) |
This class represents a choice between multiple operations. The alternates are sorted in order of priority.
Definition at line 2659 of file model.h.
typedef pair<int,DateRange> frepple::OperationAlternate::alternateProperty |
frepple::OperationAlternate::OperationAlternate | ( | const string & | c | ) | [inline, explicit] |
frepple::OperationAlternate::~OperationAlternate | ( | ) |
Destructor.
Definition at line 157 of file operation.cpp.
void frepple::OperationAlternate::addAlternate | ( | Operation * | o, | |
int | prio = 1 , |
|||
DateRange | eff = DateRange() | |||
) |
Add a new alternate operation.
The lower the priority value, the more important this alternate operation is.
Definition at line 1051 of file operation.cpp.
PyObject * frepple::OperationAlternate::addAlternate | ( | PyObject * | self, | |
PyObject * | args, | |||
PyObject * | kwdict | |||
) | [static] |
Add an alternate to the operation.
The keyword arguments are "operation", "priority", "effective_start" and "effective_end"
Definition at line 1547 of file operation.cpp.
Reimplemented from frepple::Operation.
Definition at line 1165 of file operation.cpp.
void frepple::OperationAlternate::endElement | ( | XMLInput & | pIn, | |
const Attribute & | pAttr, | |||
const DataElement & | pElement | |||
) |
Reimplemented from frepple::Operation.
Definition at line 1174 of file operation.cpp.
bool frepple::OperationAlternate::extraInstantiate | ( | OperationPlan * | o | ) | [protected, virtual] |
Extra logic to be used when instantiating an operationplan.
Reimplemented from frepple::Operation.
Definition at line 1247 of file operation.cpp.
PyObject * frepple::OperationAlternate::getattro | ( | const Attribute & | attr | ) | [virtual] |
Reimplemented from frepple::Operation.
Definition at line 1517 of file operation.cpp.
const OperationAlternate::alternateProperty & frepple::OperationAlternate::getProperties | ( | Operation * | o | ) | const |
Returns the properties of a certain suboperation.
LogicException | Generated when the argument operation is null or when it is not a sub-operation of this alternate. |
Definition at line 1068 of file operation.cpp.
SearchMode frepple::OperationAlternate::getSearch | ( | ) | const [inline] |
virtual size_t frepple::OperationAlternate::getSize | ( | ) | const [inline, virtual] |
virtual const Operationlist& frepple::OperationAlternate::getSubOperations | ( | ) | const [inline, virtual] |
Returns a reference to the list of sub operations of this operation.
Reimplemented from frepple::Operation.
virtual const MetaClass& frepple::OperationAlternate::getType | ( | ) | const [inline, virtual] |
int frepple::OperationAlternate::initialize | ( | ) | [static] |
Reimplemented from frepple::Operation.
Definition at line 77 of file operation.cpp.
void frepple::OperationAlternate::removeSubOperation | ( | Operation * | o | ) | [virtual] |
Removes an alternate from the list.
Reimplemented from frepple::Operation.
Definition at line 1272 of file operation.cpp.
int frepple::OperationAlternate::setattro | ( | const Attribute & | attr, | |
const PythonObject & | field | |||
) | [virtual] |
Reimplemented from frepple::Operation.
Definition at line 1537 of file operation.cpp.
Updates the effective daterange of a certain suboperation.
DataException | Generated when the argument operation is not null and not a sub-operation of this alternate. |
Definition at line 1104 of file operation.cpp.
OperationPlanState frepple::OperationAlternate::setOperationPlanParameters | ( | OperationPlan * | opplan, | |
double | q, | |||
Date | s, | |||
Date | e, | |||
bool | preferEnd = true , |
|||
bool | execute = true | |||
) | const [virtual] |
A operation of this type enforces the following rules on its operationplans:
Implements frepple::Operation.
Definition at line 1216 of file operation.cpp.
void frepple::OperationAlternate::setPriority | ( | Operation * | o, | |
int | f | |||
) |
Updates the priority of a certain suboperation.
DataException | Generated when the argument operation is not null and not a sub-operation of this alternate. |
Definition at line 1086 of file operation.cpp.
void frepple::OperationAlternate::setSearch | ( | const string | a | ) | [inline] |
virtual void frepple::OperationAlternate::solve | ( | Solver & | s, | |
void * | v = NULL | |||
) | const [inline, virtual] |
Reimplemented from frepple::Operation.
void frepple::OperationAlternate::writeElement | ( | XMLOutput * | o, | |
const Keyword & | tag, | |||
mode | m = DEFAULT | |||
) | const [virtual] |
Reimplemented from frepple::Operation.
Definition at line 1123 of file operation.cpp.
const MetaClass * frepple::OperationAlternate::metadata [static] |
Reimplemented from frepple::Operation.