File: UmlBaseTransition.h

package info (click to toggle)
bouml 2.19.2-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 42,364 kB
  • ctags: 33,402
  • sloc: cpp: 169,092; makefile: 135
file content (143 lines) | stat: -rw-r--r-- 3,608 bytes parent folder | download | duplicates (11)
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