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_STEREOTYPE_HPP
00026
#define UML_STEREOTYPE_HPP
00027
00028
#include <UML/GeneralizableElement.hpp>
00029
#include <UML/Geometry.hpp>
00030
#include <UML/Name.hpp>
00031
00032
namespace UML
00033 {
00034
00035
class Stereotype;
00036
class StereotypeImpl;
00037
class TagDefinition;
00038
class Constraint;
00039
00040 class Stereotype :
virtual public UML::
GeneralizableElement
00041 {
00042
public:
00043 typedef OMF::BasicClass<StereotypeImpl> Proxy;
00044
00045
Stereotype();
00046
virtual ~Stereotype();
00047
00048
const Geometry &
icon() const;
00049
void setIcon(const
Geometry &value);
00050
void clearIcon();
00051
00052 const OMF::Set &baseClass() const;
00053
void addBaseClass(const
Name &value);
00054
void removeBaseClass(const
Name &value);
00055
void clearBaseClass();
00056
00057 const OMF::Set &definedTag();
00058
void addDefinedTag(
TagDefinition *value);
00059
void removeDefinedTag(
TagDefinition *value);
00060
void clearDefinedTag();
00061
00062 const OMF::Set &stereotypeConstraint();
00063
void addStereotypeConstraint(
Constraint *value);
00064
void removeStereotypeConstraint(
Constraint *value);
00065
void clearStereotypeConstraint();
00066
00067 private:
00068
Geometry _icon;
00069 OMF::Set _baseClass;
00070 OMF::Set _definedTag;
00071 OMF::Set _stereotypeConstraint;
00072 };
00073
00074
00075 struct
StereotypeImpl : virtual public UML::
Stereotype
00076 {
00077 StereotypeImpl() :
00078 OMF::ModelObject(
00079
"UML.Stereotype",
00080 &Stereotype::Proxy::instance(),
00081 &
UMLPackage::instance()),
00082
Element(),
00083
ModelElement(),
00084
GeneralizableElement(),
00085 Stereotype()
00086 {}
00087
00088 virtual ~
StereotypeImpl()
00089 {}
00090 };
00091 }
00092
00093
#endif