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
|
#ifndef _UMLBASETRANSITION_H
#define _UMLBASETRANSITION_H
#include "UmlItem.h"
#include "anItemKind.h"
#include <qcstring.h>
#include "TransitionBehavior.h"
class UmlTransition;
class UmlBaseTransition : public UmlItem {
public:
// returns the kind of the item
virtual anItemKind kind();
// Returns a new Transition from 'start' to 'end'
//
// In case it cannot be created ('parent' cannot contain it etc ...) return 0
// in C++ and produce a RuntimeException in Java
static UmlTransition * create(UmlItem * start, UmlItem * end);
// returns the 'end' object (the 'start' object is the parent of the transition) no set !
virtual UmlItem * target();
// return the trigger in OCL
const QCString & trigger();
// set the trigger in OCL
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_Trigger(const char * s);
// return the guard in OCL
const QCString & guard();
// set the guard in OCL
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_Guard(const char * s);
// return the activity in OCL
const QCString & activity();
// set the activity in OCL
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_Activity(const char * s);
#ifdef WITHCPP
// return the trigger in C++
const QCString & cppTrigger();
// set the trigger in C++
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_CppTrigger(const char * s);
// return the guard in C++
const QCString & cppGuard();
// set the guard in C++
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_CppGuard(const char * s);
// return the activity in C++
const QCString & cppActivity();
// set the activity in C++
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_CppActivity(const char * s);
#endif
#ifdef WITHJAVA
// return the trigger in Java
const QCString & javaTrigger();
// set the trigger in Java
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_JavaTrigger(const char * s);
// return the guard in Java
const QCString & javaGuard();
// set the guard in Java
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_JavaGuard(const char * s);
// return the activity in Java
const QCString & javaActivity();
// set the activity in Java
//
// On error return FALSE in C++, produce a RuntimeException in Java
bool set_JavaActivity(const char * s);
#endif
// 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:
UmlItem * _target;
TransitionBehavior _uml;
#ifdef WITHCPP
TransitionBehavior _cpp;
#endif
#ifdef WITHJAVA
TransitionBehavior _java;
#endif
protected:
virtual void read_uml_();
#ifdef WITHCPP
virtual void read_cpp_();
#endif
#ifdef WITHJAVA
virtual void read_java_();
#endif
// the constructor, do not call it yourself !!!!!!!!!!
UmlBaseTransition(void * id, const QCString & n) : UmlItem(id, n) {
}
};
#endif
|