1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
#ifndef _UMLBASESTATE_H
#define _UMLBASESTATE_H
#include "UmlItem.h"
#include "anItemKind.h"
#include <qcstring.h>
#include "StateBehavior.h"
class UmlState;
class UmlOperation;
class UmlStateDiagram;
class UmlBaseState : public UmlItem {
public:
// returns a new state named 's' created under 'parent'
//
// In case it cannot be created (the name is already used or
// invalid, 'parent' cannot contain it etc ...) return 0 in C++
// and produce a RuntimeException in Java
static UmlState * create(UmlItem * parent, const char * s);
// returns the kind of the item
virtual anItemKind kind();
protected:
// the constructor, do not call it yourself !!!!!!!!!!
UmlBaseState(void * id, const QCString & s) : UmlItem(id, s) {
}
public:
// return the entry behavior in OCL
const QCString & entryBehavior();
// set the entry behavior in OCL
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_EntryBehavior(const char * s);
// return the exit behavior in OCL
const QCString & exitBehavior();
// set the exit behavior in OCL
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_ExitBehavior(const char * s);
// return the activity in OCL
const QCString & doActivity();
// set the activity in OCL
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_DoActivity(const char * s);
#ifdef WITHCPP
// return the entry behavior in C++
const QCString & cppEntryBehavior();
// set the entry behavior in C++
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_CppEntryBehavior(const char * s);
// return the exit behavior in C++
const QCString & cppExitBehavior();
// set the exit behavior in C++
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_CppExitBehavior(const char * s);
// return the activity in C++
const QCString & cppDoActivity();
// set the activity in C++
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_CppDoActivity(const char * s);
#endif
#ifdef WITHJAVA
// return the entry behavior in Java
const QCString & javaEntryBehavior();
// set the entry behavior in Java
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_JavaEntryBehavior(const char * s);
// return the exit behavior in Java
const QCString & javaExitBehavior();
// set the exit behavior in Java
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_JavaExitBehavior(const char * s);
// return the activity in Java
const QCString & javaDoActivity();
// set the activity in Java
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_JavaDoActivity(const char * s);
#endif
// return the indicate if the class is active
bool isActive();
// set if the class is active
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_isActive(bool v);
// return the specification
UmlOperation * specification();
// set the specification
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_Specification(UmlOperation * v);
// returns the optional associated diagram
UmlStateDiagram * associatedDiagram();
// sets the associated diagram, arg may be null to unset it
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_AssociatedDiagram(UmlStateDiagram * d);
// to unload the object to free memory, it will be reloaded automatically
// if needed. Recursively done for the sub items if 'rec' is TRUE.
//
// if 'del' is true the sub items are deleted in C++, and removed from the
// internal dictionnary in C++ and Java (to allow it to be garbaged),
// you will have to call Children() to re-access to them
virtual void unload(bool = FALSE, bool = FALSE);
private:
StateBehavior _uml;
#ifdef WITHCPP
StateBehavior _cpp;
#endif
#ifdef WITHJAVA
StateBehavior _java;
#endif
bool _active;
UmlOperation * _specification;
UmlStateDiagram * _assoc_diagram;
protected:
virtual void read_uml_();
#ifdef WITHCPP
virtual void read_cpp_();
#endif
#ifdef WITHJAVA
virtual void read_java_();
#endif
};
#endif
|