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 MODEL_TAG_HPP
00026
#define MODEL_TAG_HPP
00027
00028
00029
#include <Model/ModelElement.hpp>
00030
00031
namespace Model
00032 {
00033
00034
class TagImpl;
00035
00043 class Tag :
virtual public ModelElement
00044 {
00045
public:
00046 typedef OMF::BasicClass<TagImpl> Proxy;
00047
00048
Tag();
00049
virtual ~Tag();
00050
00051
const OMF::String &
tagId() const;
00052
void setTagId(const OMF::String &tagId);
00053
void clearTagId();
00054
00055 const OMF::List &values() const;
00056
void addValues(const OMF::String &value);
00057
void removeValues(const OMF::String &value);
00058
void clearValues();
00059
00060 const OMF::Set &elements() const;
00061
void addElements(
ModelElement *element);
00062
void removeElements(
ModelElement *element);
00063
void clearElements();
00064
00065 private:
00066 OMF::String _tagId;
00067 OMF::List _values;
00068 OMF::Set _elements;
00069 };
00070
00074 struct
TagImpl : virtual public
Tag
00075 {
00076 TagImpl() :
00077 OMF::ModelObject(
"Model.Tag",
00078 &Tag::Proxy::instance(),
00079 &
ModelPackage::instance()),
00080
ModelElement(),
00081 Tag()
00082 {}
00083
00084 virtual ~
TagImpl()
00085 {}
00086 };
00087 }
00088
00089
#endif