#include <Primitive.hpp>
Inheritance diagram for OMF::Primitive:
Public Member Functions |
|
virtual | ~Primitive () |
const Primitive & | operator= (const Primitive &value) |
const Primitive & | operator= (const std::string &value) |
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 Member Functions |
|
Primitive (const std::string &mc) | |
Primitive (const std::string &mc, const Primitive &value) | |
Primitive (const std::string &mc, const std::string &value) | |
Protected Attributes |
|
bool | _empty |
True indicates a non-value. |
|
std::string | _value |
The string value of the primitive. |
|
|
|
|
|
|
|
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. |
|
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. |
|
|
|
|
|
Explicitly cast this object to a string. |
|
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. |
|
True indicates a non-value. |
|
The string value of the primitive. |