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_GENERALIZABLEELEMENT_HPP
00026
#define UML_GENERALIZABLEELEMENT_HPP
00027
00028
#include <UML/ModelElement.hpp>
00029
00030
namespace UML
00031 {
00032
00033
class GeneralizableElement;
00034
class Generalization;
00035
00036 class GeneralizableElement :
virtual public UML::
ModelElement
00037 {
00038
public:
00039 typedef OMF::BasicClass<GeneralizableElement, OMF::Abstract> Proxy;
00040
00041
GeneralizableElement();
00042
virtual ~GeneralizableElement();
00043
00044
const OMF::Boolean &
isRoot() const;
00045
void setIsRoot(const OMF::Boolean &value);
00046
void clearIsRoot();
00047
00048 const OMF::Boolean &isLeaf() const;
00049
void setIsLeaf(const OMF::Boolean &value);
00050
void clearIsLeaf();
00051
00052 const OMF::Boolean &isAbstract() const;
00053
void setIsAbstract(const OMF::Boolean &value);
00054
void clearIsAbstract();
00055
00056 const OMF::Set &generalization();
00057
void addGeneralization(
Generalization *value);
00058
void removeGeneralization(
Generalization *value);
00059
void clearGeneralization();
00060
00061 private:
00062 OMF::Boolean _isRoot;
00063 OMF::Boolean _isLeaf;
00064 OMF::Boolean _isAbstract;
00065 OMF::Set _generalization;
00066 };
00067
00068
00069 }
00070
00071 #endif