umbrello: UMLAssociation Class Reference

umbrello 25.04.0 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
UMLAssociation Class Reference

Sets up association information. More...

`#include <association.h>`

Inheritance diagram for UMLAssociation:

## Public Member Functions
| UMLAssociation (Uml::AssociationType::Enum type, UMLObject *roleA, UMLObject *roleB)
| UMLAssociation (Uml::AssociationType::Enum type=Uml::AssociationType::Unknown)
virtual | ~UMLAssociation ()
bool | operator== (const UMLAssociation &rhs) const
QString | toString () const
UMLRole * | getUMLRole (Uml::RoleType::Enum role) const
Uml::ID::Type | getObjectId (Uml::RoleType::Enum role) const
Uml::ID::Type | getRoleId (Uml::RoleType::Enum role) const
void | setAssociationType (Uml::AssociationType::Enum assocType)
Uml::AssociationType::Enum | getAssocType () const
void | setObject (UMLObject *obj, Uml::RoleType::Enum role)
UMLObject * | getObject (Uml::RoleType::Enum role) const
void | setVisibility (Uml::Visibility::Enum value, Uml::RoleType::Enum role)
Uml::Visibility::Enum | visibility (Uml::RoleType::Enum role) const
void | setChangeability (Uml::Changeability::Enum value, Uml::RoleType::Enum role)
Uml::Changeability::Enum | changeability (Uml::RoleType::Enum role) const
void | setMultiplicity (const QString &multi, Uml::RoleType::Enum role)
QString | getMultiplicity (Uml::RoleType::Enum role) const
void | setRoleName (const QString &roleName, Uml::RoleType::Enum role)
QString | getRoleName (Uml::RoleType::Enum role) const
void | setRoleDoc (const QString &doc, Uml::RoleType::Enum role)
QString | getRoleDoc (Uml::RoleType::Enum role) const
void | setOldLoadMode (bool value=true)
bool | getOldLoadMode () const
virtual UMLObject * | clone () const
virtual bool | resolveRef ()
void | saveToXMI (QXmlStreamWriter &writer)
virtual bool | showPropertiesDialog (QWidget *parent=nullptr)
Public Member Functions inherited from UMLObject
| UMLObject (const UMLObject &other)
| UMLObject (UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
| UMLObject (UMLObject *parent)
| UMLObject (const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
virtual | ~UMLObject ()
bool | operator== (const UMLObject &rhs) const
virtual void | copyInto (UMLObject *lhs) const
virtual void | setBaseType (ObjectType ot)
ObjectType | baseType () const
QLatin1String | baseTypeStr () const
virtual void | setID (Uml::ID::Type NewID)
virtual Uml::ID::Type | id () const
QString | doc () const
bool | hasDoc () const
void | setDoc (const QString &d)
void | setVisibility (Uml::Visibility::Enum visibility)
void | setVisibilityCmd (Uml::Visibility::Enum visibility)
Uml::Visibility::Enum | visibility () const
void | setStereotype (const QString &_name)
void | setStereotypeCmd (const QString &_name)
QString | stereotype (bool includeAdornments=false) const
void | setUMLStereotype (UMLStereotype *stereo)
UMLStereotype * | umlStereotype () const
QStringList & | tags ()
QString | package (const QString &separator=QString(), bool includeRoot=false) const
UMLPackageList | packages (bool includeRoot=false) const
bool | setUMLPackage (UMLPackage *pPkg)
UMLPackage * | umlPackage () const
void | setUMLParent (UMLObject *parent)
UMLObject * | umlParent () const
virtual void | setName (const QString &strName)
virtual void | setNameCmd (const QString &strName)
QString | name () const
virtual QString | fullyQualifiedName (const QString &separator=QString(), bool includeRoot=false) const
void | setAbstract (bool bAbstract)
bool | isAbstract () const
virtual bool | loadFromXMI (QDomElement &element)
bool | loadStereotype (QDomElement &element)
void | setStatic (bool bStatic)
bool | isStatic () const
virtual bool | acceptAssociationType (Uml::AssociationType::Enum) const
void | setSecondaryId (const QString &id)
QString | secondaryId () const
void | setSecondaryFallback (const QString &id)
QString | secondaryFallback () const
void | save1 (QXmlStreamWriter &writer, const QString &type, const QString &tag=QString())
bool | isUMLActor () const
bool | isUMLArtifact () const
bool | isUMLAssociation () const
bool | isUMLAttribute () const
bool | isUMLCategory () const
bool | isUMLCheckConstraint () const
bool | isUMLClassifier () const
bool | isUMLComponent () const
bool | isUMLDatatype () const
bool | isUMLEntity () const
bool | isUMLEntityAttribute () const
bool | isUMLEntityConstraint () const
bool | isUMLEnum () const
bool | isUMLEnumLiteral () const
bool | isUMLFolder () const
bool | isUMLForeignKeyConstraint () const
bool | isUMLInstance () const
bool | isUMLInstanceAttribute () const
bool | isUMLNode () const
bool | isUMLObject () const
bool | isUMLOperation () const
bool | isUMLPackage () const
bool | isUMLPort () const
bool | isUMLRole () const
bool | isUMLStereotype () const
bool | isUMLTemplate () const
bool | isUMLUniqueConstraint () const
bool | isUMLUseCase () const
UMLActor * | asUMLActor ()
UMLArtifact * | asUMLArtifact ()
UMLAssociation * | asUMLAssociation ()
UMLAttribute * | asUMLAttribute ()
UMLCanvasObject * | asUMLCanvasObject ()
UMLCategory * | asUMLCategory ()
UMLCheckConstraint * | asUMLCheckConstraint ()
UMLClassifier * | asUMLClassifier ()
UMLClassifierListItem * | asUMLClassifierListItem ()
UMLClassifierSet * | asUMLClassifierSet ()
UMLComponent * | asUMLComponent ()
UMLDatatype * | asUMLDatatype ()
UMLEntity * | asUMLEntity ()
UMLEntityAttribute * | asUMLEntityAttribute ()
UMLEntityConstraint * | asUMLEntityConstraint ()
UMLEnum * | asUMLEnum ()
UMLEnumLiteral * | asUMLEnumLiteral ()
UMLFolder * | asUMLFolder ()
UMLForeignKeyConstraint * | asUMLForeignKeyConstraint ()
UMLInstance * | asUMLInstance ()
UMLInstanceAttribute * | asUMLInstanceAttribute ()
UMLNode * | asUMLNode ()
UMLObject * | asUMLObject ()
UMLOperation * | asUMLOperation ()
UMLPackage * | asUMLPackage ()
UMLPort * | asUMLPort ()
UMLRole * | asUMLRole ()
UMLStereotype * | asUMLStereotype ()
UMLTemplate * | asUMLTemplate ()
UMLUniqueConstraint * | asUMLUniqueConstraint ()
UMLUseCase * | asUMLUseCase ()
const UMLActor * | asUMLActor () const
const UMLArtifact * | asUMLArtifact () const
const UMLAssociation * | asUMLAssociation () const
const UMLAttribute * | asUMLAttribute () const
const UMLCanvasObject * | asUMLCanvasObject () const
const UMLCategory * | asUMLCategory () const
const UMLCheckConstraint * | asUMLCheckConstraint () const
const UMLClassifier * | asUMLClassifier () const
const UMLClassifierListItem * | asUMLClassifierListItem () const
const UMLClassifierSet * | asUMLClassifierSet () const
const UMLComponent * | asUMLComponent () const
const UMLDatatype * | asUMLDatatype () const
const UMLEntity * | asUMLEntity () const
const UMLEntityAttribute * | asUMLEntityAttribute () const
const UMLEntityConstraint * | asUMLEntityConstraint () const
const UMLEnum * | asUMLEnum () const
const UMLEnumLiteral * | asUMLEnumLiteral () const
const UMLFolder * | asUMLFolder () const
const UMLForeignKeyConstraint * | asUMLForeignKeyConstraint () const
const UMLInstance * | asUMLInstance () const
const UMLInstanceAttribute * | asUMLInstanceAttribute () const
const UMLNode * | asUMLNode () const
const UMLObject * | asUMLObject () const
const UMLOperation * | asUMLOperation () const
const UMLPackage * | asUMLPackage () const
const UMLPort * | asUMLPort () const
const UMLRole * | asUMLRole () const
const UMLStereotype * | asUMLStereotype () const
const UMLTemplate * | asUMLTemplate () const
const UMLUniqueConstraint * | asUMLUniqueConstraint () const
const UMLUseCase * | asUMLUseCase () const

## Protected Member Functions
bool | load1 (QDomElement &element)
void | init (Uml::AssociationType::Enum type, UMLObject *roleAObj, UMLObject *roleBObj)
Protected Member Functions inherited from UMLObject
void | init ()
void | maybeSignalObjectCreated ()
void | save1end (QXmlStreamWriter &writer)

## Protected Attributes
int | nrof_parent_widgets
UMLRole * | m_pRole [2]
Uml::AssociationType::Enum | m_AssocType
QString | m_Name
bool | m_bOldLoadMode
Protected Attributes inherited from UMLObject
Uml::ID::Type | m_nId
| object's id
QString | m_Doc
| object's documentation
QPointer< UMLStereotype > | m_pStereotype
| stereotype of the object if applicable
QString | m_name
| objects name
ObjectType | m_BaseType
| objects type
Uml::Visibility::Enum | m_visibility
| objects visibility
bool | m_bAbstract
| state of whether the object is abstract or not
bool | m_bStatic
| flag for instance scope
bool | m_bCreationWasSignalled
| auxiliary to maybeSignalObjectCreated()
QPointer< UMLObject > | m_pSecondary
QString | m_SecondaryId
QString | m_SecondaryFallback
QStringList | m_TaggedValues
UMLObjectPrivate * | m_d
| private data

## Private Member Functions
bool | isRealization (UMLObject *objA, UMLObject *objB) const

## Friends
class | AssociationWidget

## Additional Inherited Members
Public Types inherited from UMLObject
enum | ObjectType { ot_Unknown = -1 , ot_UMLObject = 100 , ot_Actor , ot_UseCase , ot_Package , ot_Interface , ot_Datatype , ot_Enum , ot_Class , ot_Instance , ot_Association , ot_Attribute , ot_Operation , ot_EnumLiteral , ot_Template , ot_Component , ot_Artifact , ot_Node , ot_Stereotype , ot_Role , ot_Entity , ot_EntityAttribute , ot_Folder , ot_EntityConstraint , ot_UniqueConstraint , ot_ForeignKeyConstraint , ot_CheckConstraint , ot_Category , ot_Port , ot_InstanceAttribute , ot_SubSystem }
Public Slots inherited from UMLObject
void | emitModified ()
Signals inherited from UMLObject
void | modified ()
Static Public Member Functions inherited from UMLObject
static QString | toString (ObjectType ot)
static QString | toI18nString (ObjectType t)
static Icon_Utils::IconType | toIcon (ObjectType t)

## Detailed Description

Sets up association information.

This class contains the non-graphic representation of an association. An association can be a generalization, realization, simple association, directed association, aggregation, or composition.

Author
  Oliver Kellogg okell.nosp@m.ogg@.nosp@m.users.nosp@m..sou.nosp@m.rcefo.nosp@m.rge..nosp@m.net

See also
  UMLObject Bugs and comments to umbre.nosp@m.llo-.nosp@m.devel.nosp@m.@kde.nosp@m..org or https://bugs.kde.org

## Constructor & Destructor Documentation

## ◆ UMLAssociation() [1/2]

UMLAssociation::UMLAssociation | ( | Uml::AssociationType::Enum | type,
|  | UMLObject * | roleA,
|  | UMLObject * | roleB )

Sets up an association. A new unique ID is assigned internally.

Parameters

  type | The AssociationType::Enum to construct.
  roleA | Pointer to the UMLObject in role A.
  roleB | Pointer to the UMLObject in role B.

## ◆ UMLAssociation() [2/2]

UMLAssociation::UMLAssociation | ( | Uml::AssociationType::Enum | type = Uml::AssociationType::Unknown | ) |
| explicit

Constructs an association - for loading only. This constructor should not normally be used as it constructs an incomplete association (i.e. the role objects are missing.)

Parameters

  type | The AssociationType::Enum to construct. Default: Unknown.

## ◆ ~UMLAssociation()

UMLAssociation::~UMLAssociation | ( |  | ) |
| virtual

Standard destructor.

## Member Function Documentation

## ◆ changeability()

Uml::Changeability::Enum UMLAssociation::changeability | ( | Uml::RoleType::Enum | role | ) | const

Returns the changeability.

## ◆ clone()

virtual UMLObject * UMLAssociation::clone | ( |  | ) | const
| inlinevirtual

Reimplemented from UMLObject.

## ◆ getAssocType()

Uml::AssociationType::Enum UMLAssociation::getAssocType | ( |  | ) | const

Returns the AssociationType::Enum of the UMLAssociation.

Returns
  The AssociationType::Enum of the UMLAssociation.

## ◆ getMultiplicity()

QString UMLAssociation::getMultiplicity | ( | Uml::RoleType::Enum | role | ) | const

Returns the multiplicity assigned to the given role.

Returns
  The multiplicity assigned to the given role.

## ◆ getObject()

UMLObject * UMLAssociation::getObject | ( | Uml::RoleType::Enum | role | ) | const

Returns the UMLObject assigned to the given role.

Returns
  Pointer to the UMLObject in the given role.

## ◆ getObjectId()

Uml::ID::Type UMLAssociation::getObjectId | ( | Uml::RoleType::Enum | role | ) | const

Returns the ID of the UMLObject assigned to the given role. Shorthand for getObject(role)->ID().

Returns
  ID of the UMLObject in the given role.

## ◆ getOldLoadMode()

bool UMLAssociation::getOldLoadMode | ( |  | ) | const

Return the backward compatibility flag for loading files.

## ◆ getRoleDoc()

QString UMLAssociation::getRoleDoc | ( | Uml::RoleType::Enum | role | ) | const

Returns the documentation assigned to the given role.

Returns
  Documentation text of given role.

## ◆ getRoleId()

Uml::ID::Type UMLAssociation::getRoleId | ( | Uml::RoleType::Enum | role | ) | const

Returns the ID of the UMLObject assigned to the given role. CURRENTLY UNUSED.

Returns
  ID of the UMLObject of the given role.

## ◆ getRoleName()

QString UMLAssociation::getRoleName | ( | Uml::RoleType::Enum | role | ) | const

Returns the name assigned to the role A.

Returns
  The name assigned to the given role.

## ◆ getUMLRole()

UMLRole * UMLAssociation::getUMLRole | ( | Uml::RoleType::Enum | role | ) | const

Get the underlying UMLRole object for the given role.

Returns
  Pointer to the UMLRole object for the given role.

## ◆ init()

void UMLAssociation::init | ( | Uml::AssociationType::Enum | type,
|  | UMLObject * | roleAObj,
|  | UMLObject * | roleBObj )
| protected

Common initializations at construction time.

Parameters

  type | The AssociationType::Enum to represent.
  roleAObj | Pointer to the role A UMLObject.
  roleBObj | Pointer to the role B UMLObject.

## ◆ isRealization()

bool UMLAssociation::isRealization | ( | UMLObject * | objA,
|  | UMLObject * | objB ) const
| private

When the association type is "Generalization" and at least one of the given objects an interface, then it is a "Realization".

Parameters

  objA | UML object as role A
  objB | UML object as role B

Returns
  flag whether association is a realization

## ◆ load1()

bool UMLAssociation::load1 | ( | QDomElement & | element | ) |
| protectedvirtual

Loads the <UML:Generalization> or <UML:Association> XMI element including its role objects.

Reimplemented from UMLObject.

## ◆ operator==()

bool UMLAssociation::operator== | ( | const UMLAssociation & | rhs | ) | const

Overloaded '==' operator

## ◆ resolveRef()

bool UMLAssociation::resolveRef | ( |  | ) |
| virtual

Resolve types. Required when dealing with foreign XMI files. Needs to be called after all UML objects are loaded from file. Overrides the method from UMLObject. Calls resolveRef() for each role.

Returns
  True for success.

Reimplemented from UMLObject.

## ◆ saveToXMI()

void UMLAssociation::saveToXMI | ( | QXmlStreamWriter & | writer | ) |
| virtual

Creates the <UML:Generalization> or <UML:Association> XMI element including its role objects.

Reimplemented from UMLObject.

## ◆ setAssociationType()

void UMLAssociation::setAssociationType | ( | Uml::AssociationType::Enum | assocType | ) |

Sets the assocType of the UMLAssociation.

Parameters

  assocType | The AssociationType::Enum of the UMLAssociation.

## ◆ setChangeability()

void UMLAssociation::setChangeability | ( | Uml::Changeability::Enum | value,
|  | Uml::RoleType::Enum | role )

Sets the changeability of the given role of the UMLAssociation.

Parameters

  value | Changeability_Type of the given role.
  role | The Uml::RoleType::Enum to which the changeability is being set

## ◆ setMultiplicity()

void UMLAssociation::setMultiplicity | ( | const QString & | multi,
|  | Uml::RoleType::Enum | role )

Sets the multiplicity of the given role of the UMLAssociation.

Parameters

  multi | The multiplicity of the given role.
  role | The Uml::RoleType::Enum to which the multiplicity is being applied

## ◆ setObject()

void UMLAssociation::setObject | ( | UMLObject * | obj,
|  | Uml::RoleType::Enum | role )

Sets the UMLObject playing the given role in the association.

Parameters

  obj | Pointer to the UMLObject of the given role.
  role | The Uml::RoleType::Enum played by the association

## ◆ setOldLoadMode()

void UMLAssociation::setOldLoadMode | ( | bool | value = true | ) |

Set the attribute m_bOldLoadMode.

Parameters

  value | the new value to set

## ◆ setRoleDoc()

void UMLAssociation::setRoleDoc | ( | const QString & | doc,
|  | Uml::RoleType::Enum | role )

Sets the documentation on the given role in the association.

Parameters

  doc | The string with the documentation.
  role | The Uml::RoleType::Enum to which the documentation is being applied

## ◆ setRoleName()

void UMLAssociation::setRoleName | ( | const QString & | roleName,
|  | Uml::RoleType::Enum | role )

Sets the name of the given role of the UMLAssociation.

Parameters

  roleName | The name to set for the given role.
  role | The Uml::RoleType::Enum for which to set the name.

## ◆ setVisibility()

void UMLAssociation::setVisibility | ( | Uml::Visibility::Enum | value,
|  | Uml::RoleType::Enum | role )

Sets the visibility of the given role of the UMLAssociation.

Parameters

  value | Visibility of role.
  role | The Uml::RoleType::Enum to which the visibility is being applied

## ◆ showPropertiesDialog()

bool UMLAssociation::showPropertiesDialog | ( | QWidget * | parent = nullptr | ) |
| virtual

Display the properties configuration dialog for the object.

Parameters

  parent | The parent widget.

Returns
  True for success of this operation.

Reimplemented from UMLObject.

## ◆ toString()

QString UMLAssociation::toString | ( |  | ) | const

Returns a String representation of this UMLAssociation.

## ◆ visibility()

Uml::Visibility::Enum UMLAssociation::visibility | ( | Uml::RoleType::Enum | role | ) | const

Returns the Visibility of the given role.

Returns
  Visibility of the given role.

## Friends And Related Symbol Documentation

## ◆ AssociationWidget

friend class AssociationWidget
| friend

## Member Data Documentation

## ◆ m_AssocType

Uml::AssociationType::Enum UMLAssociation::m_AssocType
| protected

## ◆ m_bOldLoadMode

bool UMLAssociation::m_bOldLoadMode
| protected

## ◆ m_Name

QString UMLAssociation::m_Name
| protected

## ◆ m_pRole

UMLRole* UMLAssociation::m_pRole[2]
| protected

## ◆ nrof_parent_widgets

int UMLAssociation::nrof_parent_widgets
| protected

The documentation for this class was generated from the following files:

- umbrello/umlmodel/association.h
- umbrello/umlmodel/association.cpp