umbrello 26.04.3
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
UMLAssociation Class Reference

Sets up association information. More...

#include <umlassociation.h>

Inheritance diagram for UMLAssociation:
Collaboration 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
typeThe AssociationType::Enum to construct.
roleAPointer to the UMLObject in role A.
roleBPointer to the UMLObject in role B.
Here is the call graph for this function:

◆ 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
typeThe AssociationType::Enum to construct. Default: Unknown.
Here is the call graph for this function:

◆ ~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.

Here is the call graph for this function:

◆ getAssocType()

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

◆ 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.
Here is the call graph for this function:

◆ 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.
Here is the call graph for this function:

◆ 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
typeThe AssociationType::Enum to represent.
roleAObjPointer to the role A UMLObject.
roleBObjPointer to the role B UMLObject.
Here is the call graph for this function:

◆ 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
objAUML object as role A
objBUML object as role B
Returns
flag whether association is a realization
Here is the call graph for this function:

◆ load1()

bool UMLAssociation::load1 ( QDomElement & element)
protectedvirtual

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

Reimplemented from UMLObject.

Here is the call graph for this function:

◆ operator==()

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

Overloaded '==' operator

Here is the call graph for this function:

◆ 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.

Here is the call graph for this function:

◆ saveToXMI()

void UMLAssociation::saveToXMI ( QXmlStreamWriter & writer)
virtual

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

Reimplemented from UMLObject.

Here is the call graph for this function:

◆ setAssociationType()

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

Sets the assocType of the UMLAssociation.

Parameters
assocTypeThe AssociationType::Enum of the UMLAssociation.
Here is the call graph for this function:

◆ setChangeability()

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

Sets the changeability of the given role of the UMLAssociation.

Parameters
valueChangeability_Type of the given role.
roleThe 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
multiThe multiplicity of the given role.
roleThe Uml::RoleType::Enum to which the multiplicity is being applied
Here is the call graph for this function:

◆ setObject()

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

Sets the UMLObject playing the given role in the association.

Parameters
objPointer to the UMLObject of the given role.
roleThe Uml::RoleType::Enum played by the association
Here is the call graph for this function:

◆ setOldLoadMode()

void UMLAssociation::setOldLoadMode ( bool value = true)

Set the attribute m_bOldLoadMode.

Parameters
valuethe 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
docThe string with the documentation.
roleThe Uml::RoleType::Enum to which the documentation is being applied
Here is the call graph for this function:

◆ setRoleName()

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

Sets the name of the given role of the UMLAssociation.

Parameters
roleNameThe name to set for the given role.
roleThe 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
valueVisibility of role.
roleThe 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
parentThe parent widget.
Returns
True for success of this operation.

Reimplemented from UMLObject.

Here is the call graph for this function:

◆ toString()

QString UMLAssociation::toString ( ) const

Returns a String representation of this UMLAssociation.

Here is the call graph for this function:

◆ 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: