00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#ifndef UML_MODELELEMENT_HPP
00026
#define UML_MODELELEMENT_HPP
00027
00028
#include <UML/Element.hpp>
00029
#include <UML/Name.hpp>
00030
#include <UML/VisibilityKind.hpp>
00031
00032
namespace UML
00033 {
00034
00035
class ModelElement;
00036
class Namespace;
00037
class Dependency;
00038
class Constraint;
00039
class Flow;
00040
class Flow;
00041
class Comment;
00042
class TemplateParameter;
00043
class Stereotype;
00044
class TaggedValue;
00045
00046 class ModelElement :
virtual public UML::
Element
00047 {
00048
public:
00049 typedef OMF::BasicClass<ModelElement, OMF::Abstract> Proxy;
00050
00051
ModelElement();
00052
virtual ~ModelElement();
00053
00054
const Name &
name() const;
00055
void setName(const
Name &value);
00056
void clearName();
00057
00058 const
VisibilityKind &visibility() const;
00059
void setVisibility(const
VisibilityKind &value);
00060
void clearVisibility();
00061
00062 const OMF::Boolean &isSpecification() const;
00063
void setIsSpecification(const OMF::Boolean &value);
00064
void clearIsSpecification();
00065
00066
Namespace *ns();
00067
void setNs(
Namespace *value);
00068
void clearNs();
00069
00070 const OMF::Set &clientDependency();
00071
void addClientDependency(
Dependency *value);
00072
void removeClientDependency(
Dependency *value);
00073
void clearClientDependency();
00074
00075 const OMF::Set &constraint();
00076
void addConstraint(
Constraint *value);
00077
void removeConstraint(
Constraint *value);
00078
void clearConstraint();
00079
00080 const OMF::Set &targetFlow();
00081
void addTargetFlow(
Flow *value);
00082
void removeTargetFlow(
Flow *value);
00083
void clearTargetFlow();
00084
00085 const OMF::Set &sourceFlow();
00086
void addSourceFlow(
Flow *value);
00087
void removeSourceFlow(
Flow *value);
00088
void clearSourceFlow();
00089
00090 const OMF::Set &comment();
00091
void addComment(
Comment *value);
00092
void removeComment(
Comment *value);
00093
void clearComment();
00094
00095 const OMF::Set &templateParameter();
00096
void addTemplateParameter(
TemplateParameter *value);
00097
void removeTemplateParameter(
TemplateParameter *value);
00098
void clearTemplateParameter();
00099
00100 const OMF::Set &stereotype();
00101
void addStereotype(
Stereotype *value);
00102
void removeStereotype(
Stereotype *value);
00103
void clearStereotype();
00104
00105 const OMF::Set &taggedValue();
00106
void addTaggedValue(
TaggedValue *value);
00107
void removeTaggedValue(
TaggedValue *value);
00108
void clearTaggedValue();
00109
00110 private:
00111
Name _name;
00112
VisibilityKind _visibility;
00113 OMF::Boolean _isSpecification;
00114
Namespace *_ns;
00115 OMF::Set _clientDependency;
00116 OMF::Set _constraint;
00117 OMF::Set _targetFlow;
00118 OMF::Set _sourceFlow;
00119 OMF::Set _comment;
00120 OMF::Set _templateParameter;
00121 OMF::Set _stereotype;
00122 OMF::Set _taggedValue;
00123 };
00124
00125
00126 }
00127
00128 #endif