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

OMF::Enumeration Class Reference

#include

Inheritance diagram for OMF::Enumeration:

OMF::Primitive OMF::Object Model::AggregationKind Model::DirectionKind Model::EvaluationKind Model::ScopeKind Model::VisibilityKind UML::AggregationKind UML::CallConcurrencyKind UML::ChangeableKind UML::OrderingKind UML::ParameterDirectionKind UML::PseudostateKind UML::ScopeKind UML::VisibilityKind List of all members.

Detailed Description

The Enumeration class is the base class of all enumerations defined for modeling. Enumerations are essentially primitive types who's value is a literal (string) corresponding to some integral value.


Public Member Functions

  Enumeration (const std::string &mc)
  Enumeration (const std::string &mc, const Enumeration &value)
  Enumeration (const std::string &mc, const std::string &value)
virtual  ~Enumeration ()
const Enumeration operator= (const Enumeration &value)
const Enumeration operator= (const std::string &value)
virtual const std::vector<
std::string > & 
labels () const =0
const std::string &  labelAt (size_t index) const
  operator const std::string & () const
  operator const char * () const
bool  empty () const
void  clear ()
const std::string &  str () const
virtual unsigned  hashCode () const
virtual const std::string &  typeCode () const =0
ModelObject metaObject ()

Protected Attributes

bool  _empty
  True indicates a non-value.
std::string  _value
  The string value of the primitive.

Constructor & Destructor Documentation

OMF::Enumeration::Enumeration const std::string &  mc  ) 
 

OMF::Enumeration::Enumeration const std::string &  mc,
const Enumeration value
 

OMF::Enumeration::Enumeration const std::string &  mc,
const std::string &  value
 

virtual OMF::Enumeration::~Enumeration  )  [virtual]
 


Member Function Documentation

void OMF::Primitive::clear  )  [inherited]
 

bool OMF::Primitive::empty  )  const [inherited]
 

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

The default identity method for primitive types computes an integral hash on the string representation of the object. Derived primitives may overload this method to provide more accurate or efficient hashing capabilities.

Note that this method will return the same hash for primitives of different types containing the same value. However, since we don't usually deal with arrays of mixed primitives, this shouldn't really be an issue.

Implements OMF::Object.

Reimplemented in OMF::Integer, and OMF::UnlimitedNatural.

const std::string& OMF::Enumeration::labelAt size_t  index  )  const
 

Return the enumeration value at the requested index. If there is no such index, an empty string is returned.

virtual const std::vector<:string>& OMF::Enumeration::labels  )  const [pure virtual]
 

This method is added to the set of virtual methods to provide some introspective capabilities for derived enumeration types. This returns a const reference to an array of strings.

Implemented in Model::AggregationKind, Model::DirectionKind, Model::EvaluationKind, Model::ScopeKind, Model::VisibilityKind, UML::AggregationKind, UML::CallConcurrencyKind, UML::ChangeableKind, UML::OrderingKind, UML::ParameterDirectionKind, UML::PseudostateKind, UML::ScopeKind, and UML::VisibilityKind.

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.

OMF::Primitive::operator const char *  )  const [inherited]
 

OMF::Primitive::operator const std::string &  )  const [inherited]
 

const Enumeration& OMF::Enumeration::operator= const std::string &  value  ) 
 

Reimplemented from OMF::Primitive.

Reimplemented in Model::AggregationKind, Model::DirectionKind, Model::EvaluationKind, Model::ScopeKind, Model::VisibilityKind, UML::AggregationKind, UML::CallConcurrencyKind, UML::ChangeableKind, UML::OrderingKind, UML::ParameterDirectionKind, UML::PseudostateKind, UML::ScopeKind, and UML::VisibilityKind.

const Enumeration& OMF::Enumeration::operator= const Enumeration value  ) 
 

const std::string& OMF::Primitive::str  )  const [inherited]
 

Explicitly cast this object to a string.

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

The typeCode method returns a textual description of an object's type. This can vary between classifications of objects. For primitives and collections, the names are essentially static. For model objects, enumerations and collections the name of the object is the scoped name of the instantiating class. Note that the names of primitives are not typed.

Implemented in OMF::Boolean, OMF::Integer, OMF::List, OMF::ModelObject, OMF::Set, OMF::String, OMF::UnlimitedNatural, Model::AggregationKind, Model::DirectionKind, Model::EvaluationKind, Model::ScopeKind, Model::VisibilityKind, UML::AggregationKind, UML::CallConcurrencyKind, UML::ChangeableKind, UML::Geometry, UML::LocationReference, UML::Name, UML::OrderingKind, UML::ParameterDirectionKind, UML::PseudostateKind, UML::ScopeKind, UML::UnlimitedInteger, and UML::VisibilityKind.


Member Data Documentation

bool OMF::Primitive::_empty [protected, inherited]
 

True indicates a non-value.

std::string OMF::Primitive::_value [protected, inherited]
 

The string value of the primitive.


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