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_ELEMENTIMPORT_HPP
00026
#define UML_ELEMENTIMPORT_HPP
00027
00028
#include <OMF/ModelObject.hpp>
00029
00030
#include <UML/UMLPackage.hpp>
00031
#include <UML/VisibilityKind.hpp>
00032
#include <UML/Name.hpp>
00033
00034
namespace UML
00035 {
00036
00037
class ElementImport;
00038
class ElementImportImpl;
00039
class Package;
00040
class ModelElement;
00041
00042 class ElementImport :
virtual public OMF::ModelObject
00043 {
00044
public:
00045 typedef OMF::BasicClass<ElementImportImpl> Proxy;
00046
00047
ElementImport();
00048
virtual ~ElementImport();
00049
00050
const VisibilityKind &
visibility() const;
00051
void setVisibility(const
VisibilityKind &value);
00052
void clearVisibility();
00053
00054 const
Name &alias() const;
00055
void setAlias(const
Name &value);
00056
void clearAlias();
00057
00058 const OMF::Boolean &isSpecification() const;
00059
void setIsSpecification(const OMF::Boolean &value);
00060
void clearIsSpecification();
00061
00062
Package *package();
00063
void setPackage(
Package *value);
00064
void clearPackage();
00065
00066
ModelElement *importedElement();
00067
void setImportedElement(
ModelElement *value);
00068
void clearImportedElement();
00069
00070 private:
00071
VisibilityKind _visibility;
00072
Name _alias;
00073 OMF::Boolean _isSpecification;
00074
Package *_package;
00075
ModelElement *_importedElement;
00076 };
00077
00078
00079 struct
ElementImportImpl : virtual public UML::
ElementImport
00080 {
00081 ElementImportImpl() :
00082 OMF::ModelObject(
00083
"UML.ElementImport",
00084 &ElementImport::Proxy::instance(),
00085 &
UMLPackage::instance()),
00086 ElementImport()
00087 {}
00088
00089 virtual ~
ElementImportImpl()
00090 {}
00091 };
00092 }
00093
00094
#endif