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_NAMESPACE_HPP
00026
#define MODEL_NAMESPACE_HPP
00027
00028
00029
#include <Model/ModelElement.hpp>
00030
00031
namespace Model
00032 {
00033
00034
class Class;
00035
00052 class Namespace :
virtual public ModelElement
00053 {
00054
public:
00055 typedef OMF::BasicClass<Namespace, OMF::Abstract> Proxy;
00056
00057
Namespace();
00058
virtual ~Namespace();
00059
00060
const OMF::List &
contents() const;
00061
void addContents(
ModelElement *element);
00062
void removeContents(
ModelElement *element);
00063
void clearContents();
00064
00075
ModelElement *lookupElement(const OMF::String &name);
00076
00087
ModelElement *resolveQualifiedName(const OMF::List &qualifiedName);
00088
00098 OMF::List findElementsByType(
Class *ofType,
00099 const OMF::Boolean &includeSubtypes);
00100
00109 OMF::Boolean nameIsValid(const OMF::String &name);
00110
00111
00112 private:
00113 OMF::List _contents;
00114 };
00115 }
00116
00117 #endif