Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

ModelElement.hpp

Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2004 Andrew Sutton 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to: 00016 * 00017 * The Free Software Foundation, Inc. 00018 * 59 Temple Place, Suite 330 00019 * Boston, MA 02111-1307 USA 00020 * 00021 * Contact: 00022 * Andrew Sutton asutton@cs.kent.edu 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 // forward declarations 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

Generated on Fri Sep 10 13:07:33 2004 for OpenModelingFramework by doxygen 1.3.8