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

UML::Feature Class Reference

#include <Feature.hpp>

Inheritance diagram for UML::Feature:

UML::ModelElement UML::Element OMF::ModelObject OMF::Object UML::BehavioralFeature UML::StructuralFeature UML::Method UML::Operation UML::Reception UML::Attribute UML::MethodImpl UML::OperationImpl UML::ReceptionImpl UML::AttributeImpl List of all members.

Public Types

typedef OMF::BasicClass< Feature,
OMF::Abstract
Proxy

Public Member Functions

 Feature ()
virtual ~Feature ()
const ScopeKindownerScope () const
void setOwnerScope (const ScopeKind &value)
void clearOwnerScope ()
Classifierowner ()
void setOwner (Classifier *value)
void clearOwner ()
const Namename () const
void setName (const Name &value)
void clearName ()
const VisibilityKindvisibility () const
void setVisibility (const VisibilityKind &value)
void clearVisibility ()
const OMF::BooleanisSpecification () const
void setIsSpecification (const OMF::Boolean &value)
void clearIsSpecification ()
Namespacens ()
void setNs (Namespace *value)
void clearNs ()
const OMF::SetclientDependency ()
void addClientDependency (Dependency *value)
void removeClientDependency (Dependency *value)
void clearClientDependency ()
const OMF::Setconstraint ()
void addConstraint (Constraint *value)
void removeConstraint (Constraint *value)
void clearConstraint ()
const OMF::SettargetFlow ()
void addTargetFlow (Flow *value)
void removeTargetFlow (Flow *value)
void clearTargetFlow ()
const OMF::SetsourceFlow ()
void addSourceFlow (Flow *value)
void removeSourceFlow (Flow *value)
void clearSourceFlow ()
const OMF::Setcomment ()
void addComment (Comment *value)
void removeComment (Comment *value)
void clearComment ()
const OMF::SettemplateParameter ()
void addTemplateParameter (TemplateParameter *value)
void removeTemplateParameter (TemplateParameter *value)
void clearTemplateParameter ()
const OMF::Setstereotype ()
void addStereotype (Stereotype *value)
void removeStereotype (Stereotype *value)
void clearStereotype ()
const OMF::SettaggedValue ()
void addTaggedValue (TaggedValue *value)
void removeTaggedValue (TaggedValue *value)
void clearTaggedValue ()
virtual unsigned hashCode () const
virtual const std::string & typeCode () const
const std::string id () const
void setId (const std::string &id)
void incRef ()
void decRef ()
void purge ()
ModelObject * parent ()
void setParent (ModelObject *parent)
Modelmodel ()
void setModel (Model *model)
const std::vector< Property * > & propertyList () const
const std::map< std::string,
Property * > & 
allProperties () const
bool hasProperty (const std::string &name) const
Property * getProperty (const std::string &name) const
Objectget (const std::string &name)
void set (const std::string &name, Object *value)
void add (const std::string &name, Object *value)
void remove (const std::string &name, Object *value)
void clear (const std::string &name)
void extend (Extension *ext)
template<class Type> void extendWith (const std::string &name, Type &value)
template<class Type> void extendWith (const std::string &name)
bool hasExtension (const std::string &name)
Extension * extension (const std::string &name)
void removeExtension (const std::string &name)
Classproxy ()
Packagedecl ()
ModelObject * metaObject ()

Protected Member Functions

Property & defProperty (const std::string &name)

Member Typedef Documentation

typedef OMF::BasicClass<Feature, OMF::Abstract> UML::Feature::Proxy
 

Reimplemented from UML::ModelElement.

Reimplemented in UML::Attribute, UML::BehavioralFeature, UML::Method, UML::Operation, UML::Reception, and UML::StructuralFeature.


Constructor & Destructor Documentation

UML::Feature::Feature  ) 
 

virtual UML::Feature::~Feature  )  [virtual]
 


Member Function Documentation

void OMF::ModelObject::add const std::string &  name,
Object value
[inherited]
 

Add the value of a named property.

void UML::ModelElement::addClientDependency Dependency value  )  [inherited]
 

void UML::ModelElement::addComment Comment value  )  [inherited]
 

void UML::ModelElement::addConstraint Constraint value  )  [inherited]
 

void UML::ModelElement::addSourceFlow Flow value  )  [inherited]
 

void UML::ModelElement::addStereotype Stereotype value  )  [inherited]
 

void UML::ModelElement::addTaggedValue TaggedValue value  )  [inherited]
 

void UML::ModelElement::addTargetFlow Flow value  )  [inherited]
 

void UML::ModelElement::addTemplateParameter TemplateParameter value  )  [inherited]
 

const std::map<std::string, Property *>& OMF::ModelObject::allProperties  )  const [inherited]
 

Return all properties.

void OMF::ModelObject::clear const std::string &  name  )  [inherited]
 

Clear the value of a named property.

void UML::ModelElement::clearClientDependency  )  [inherited]
 

void UML::ModelElement::clearComment  )  [inherited]
 

void UML::ModelElement::clearConstraint  )  [inherited]
 

void UML::ModelElement::clearIsSpecification  )  [inherited]
 

void UML::ModelElement::clearName  )  [inherited]
 

void UML::ModelElement::clearNs  )  [inherited]
 

void UML::Feature::clearOwner  ) 
 

void UML::Feature::clearOwnerScope  ) 
 

void UML::ModelElement::clearSourceFlow  )  [inherited]
 

void UML::ModelElement::clearStereotype  )  [inherited]
 

void UML::ModelElement::clearTaggedValue  )  [inherited]
 

void UML::ModelElement::clearTargetFlow  )  [inherited]
 

void UML::ModelElement::clearTemplateParameter  )  [inherited]
 

void UML::ModelElement::clearVisibility  )  [inherited]
 

const OMF::Set& UML::ModelElement::clientDependency  )  [inherited]
 

const OMF::Set& UML::ModelElement::comment  )  [inherited]
 

const OMF::Set& UML::ModelElement::constraint  )  [inherited]
 

Package* OMF::ModelObject::decl  )  [inherited]
 

Returns package that declares this class of this object.

void OMF::ModelObject::decRef  )  [inherited]
 

Property& OMF::ModelObject::defProperty const std::string &  name  )  [protected, inherited]
 

Provided so derived classes can add properties. This returns the newly allocated property object so it can be altered in a chained method x().y().z().

void OMF::ModelObject::extend Extension ext  )  [inherited]
 

Extend the object with a new property. This entails the external construction of the extension that will be used by the model object. This is more useful for specialized extensions.

template<class Type>
void OMF::ModelObject::extendWith const std::string &  name  )  [inherited]
 

This method is like the above, but the caller does not need a default value for the extension.

template<class Type>
void OMF::ModelObject::extendWith const std::string &  name,
Type &  value
[inherited]
 

This method is much like the first but internalizes the construction of the extension element. It uses the basic extension class and wraps the given value.

Extension* OMF::ModelObject::extension const std::string &  name  )  [inherited]
 

Get the named extension property.

Object* OMF::ModelObject::get const std::string &  name  )  [inherited]
 

Get a named property of the object.

Property* OMF::ModelObject::getProperty const std::string &  name  )  const [inherited]
 

This method is used to return the property object for the requested name. This can be useful if the client needs to test some of the capabilities of the property prior to manipulating it.

bool OMF::ModelObject::hasExtension const std::string &  name  )  [inherited]
 

Does the object support a named extension?

virtual unsigned OMF::ModelObject::hashCode  )  const [virtual, inherited]
 

Hash codes for model objects are the integer representation of the this pointer. The pointer value is actually the identity of the object, so it seems like a good solution for hashing.

Implements OMF::Object.

bool OMF::ModelObject::hasProperty const std::string &  name  )  const [inherited]
 

This method is used to query whether or not a property is actually defined for this object. Note that we can't just test using get because the property may exist, but be a null pointer.

const std::string OMF::ModelObject::id  )  const [inherited]
 

Return the id of this object. Can be empty.

void OMF::ModelObject::incRef  )  [inherited]
 

const OMF::Boolean& UML::ModelElement::isSpecification  )  const [inherited]
 

ModelObject* OMF::Object::metaObject  )  [inherited]
 

Return the meta-object of this instance. The meta-object is an instance of the metaclass of this object. For example, the metaclass of UML::Attribute is Model::Class. The metaobject for an instance of UML::Attribute is an instance of Model::Class.

This method may force a load of an entire metamodel in order to return the correct object.

Model* OMF::ModelObject::model  )  [inherited]
 

Return the model that owns this object.Note that this method can return null... in the case where this happens, we're really dealing with fragments of models. However, inserting the fragment into a model will resolve the ownership of the element.

const Name& UML::ModelElement::name  )  const [inherited]
 

Namespace* UML::ModelElement::ns  )  [inherited]
 

Classifier* UML::Feature::owner  ) 
 

const ScopeKind& UML::Feature::ownerScope  )  const
 

ModelObject* OMF::ModelObject::parent  )  [inherited]
 

Return the owner of this object or - the parent in the containment tree (after which the method is named).

Reimplemented in UML::Generalization.

const std::vector<Property *>& OMF::ModelObject::propertyList  )  const [inherited]
 

Return a list of properties (ordered by definition). This method shouldn't really be used. It's kind of a hack that's been added to support XMI 1.2 field referencing for structure types.

Class* OMF::ModelObject::proxy  )  [inherited]
 

Get the class proxy for this model object.

void OMF::ModelObject::purge  )  [inherited]
 

The purge method is a work-around for cases where the object must be deleted immediately (such as composite aggregation). This method deletes this object. Do not refer to it after calling this method.

void OMF::ModelObject::remove const std::string &  name,
Object value
[inherited]
 

Remove a value from a named property.

void UML::ModelElement::removeClientDependency Dependency value  )  [inherited]
 

void UML::ModelElement::removeComment Comment value  )  [inherited]
 

void UML::ModelElement::removeConstraint Constraint value  )  [inherited]
 

void OMF::ModelObject::removeExtension const std::string &  name  )  [inherited]
 

Remove the named extension.

void UML::ModelElement::removeSourceFlow Flow value  )  [inherited]
 

void UML::ModelElement::removeStereotype Stereotype value  )  [inherited]
 

void UML::ModelElement::removeTaggedValue TaggedValue value  )  [inherited]
 

void UML::ModelElement::removeTargetFlow Flow value  )  [inherited]
 

void UML::ModelElement::removeTemplateParameter TemplateParameter value  )  [inherited]
 

void OMF::ModelObject::set const std::string &  name,
Object value
[inherited]
 

Set the value of a named property.

void OMF::ModelObject::setId const std::string &  id  )  [inherited]
 

Never, ever call this method. It is used internally by this class and the Model class to set the ids for objects that are used during serialization.

void UML::ModelElement::setIsSpecification const OMF::Boolean value  )  [inherited]
 

void OMF::ModelObject::setModel Model model  )  [inherited]
 

This method should only ever be called from within the model class and only when a new top-level object is assigned to the model.

void UML::ModelElement::setName const Name value  )  [inherited]
 

void UML::ModelElement::setNs Namespace value  )  [inherited]
 

void UML::Feature::setOwner Classifier value  ) 
 

void UML::Feature::setOwnerScope const ScopeKind value  ) 
 

void OMF::ModelObject::setParent ModelObject parent  )  [inherited]
 

Set the parent in the containment tree. Note that this method should only ever be called by a reference mutator. It should not be the job of the client to manage containment relations. This method will recursively set the model for all owned elements of this object to the model of the owning object. It will also reallocate ids (if the parent has a model).

void UML::ModelElement::setVisibility const VisibilityKind value  )  [inherited]
 

const OMF::Set& UML::ModelElement::sourceFlow  )  [inherited]
 

const OMF::Set& UML::ModelElement::stereotype  )  [inherited]
 

const OMF::Set& UML::ModelElement::taggedValue  )  [inherited]
 

const OMF::Set& UML::ModelElement::targetFlow  )  [inherited]
 

const OMF::Set& UML::ModelElement::templateParameter  )  [inherited]
 

virtual const std::string& OMF::ModelObject::typeCode  )  const [virtual, inherited]
 

The typecode of a model object is the name of the model object's class.

Implements OMF::Object.

const VisibilityKind& UML::ModelElement::visibility  )  const [inherited]
 


The documentation for this class was generated from the following file:
Generated on Fri Sep 10 13:07:49 2004 for OpenModelingFramework by doxygen 1.3.8