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

Sets up association information. More...

#include <association.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
UMLRolegetUMLRole (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)
UMLObjectgetObject (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 UMLObjectclone () 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)
UMLStereotypeumlStereotype () const
QStringList & tags ()
QString package (const QString &separator=QString(), bool includeRoot=false) const
UMLPackageList packages (bool includeRoot=false) const
bool setUMLPackage (UMLPackage *pPkg)
UMLPackageumlPackage () const
void setUMLParent (UMLObject *parent)
UMLObjectumlParent () 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
UMLActorasUMLActor ()
UMLArtifactasUMLArtifact ()
UMLAssociationasUMLAssociation ()
UMLAttributeasUMLAttribute ()
UMLCanvasObjectasUMLCanvasObject ()
UMLCategoryasUMLCategory ()
UMLCheckConstraintasUMLCheckConstraint ()
UMLClassifierasUMLClassifier ()
UMLClassifierListItemasUMLClassifierListItem ()
UMLClassifierSetasUMLClassifierSet ()
UMLComponentasUMLComponent ()
UMLDatatypeasUMLDatatype ()
UMLEntityasUMLEntity ()
UMLEntityAttributeasUMLEntityAttribute ()
UMLEntityConstraintasUMLEntityConstraint ()
UMLEnumasUMLEnum ()
UMLEnumLiteralasUMLEnumLiteral ()
UMLFolderasUMLFolder ()
UMLForeignKeyConstraintasUMLForeignKeyConstraint ()
UMLInstanceasUMLInstance ()
UMLInstanceAttributeasUMLInstanceAttribute ()
UMLNodeasUMLNode ()
UMLObjectasUMLObject ()
UMLOperationasUMLOperation ()
UMLPackageasUMLPackage ()
UMLPortasUMLPort ()
UMLRoleasUMLRole ()
UMLStereotypeasUMLStereotype ()
UMLTemplateasUMLTemplate ()
UMLUniqueConstraintasUMLUniqueConstraint ()
UMLUseCaseasUMLUseCase ()
const UMLActorasUMLActor () const
const UMLArtifactasUMLArtifact () const
const UMLAssociationasUMLAssociation () const
const UMLAttributeasUMLAttribute () const
const UMLCanvasObjectasUMLCanvasObject () const
const UMLCategoryasUMLCategory () const
const UMLCheckConstraintasUMLCheckConstraint () const
const UMLClassifierasUMLClassifier () const
const UMLClassifierListItemasUMLClassifierListItem () const
const UMLClassifierSetasUMLClassifierSet () const
const UMLComponentasUMLComponent () const
const UMLDatatypeasUMLDatatype () const
const UMLEntityasUMLEntity () const
const UMLEntityAttributeasUMLEntityAttribute () const
const UMLEntityConstraintasUMLEntityConstraint () const
const UMLEnumasUMLEnum () const
const UMLEnumLiteralasUMLEnumLiteral () const
const UMLFolderasUMLFolder () const
const UMLForeignKeyConstraintasUMLForeignKeyConstraint () const
const UMLInstanceasUMLInstance () const
const UMLInstanceAttributeasUMLInstanceAttribute () const
const UMLNodeasUMLNode () const
const UMLObjectasUMLObject () const
const UMLOperationasUMLOperation () const
const UMLPackageasUMLPackage () const
const UMLPortasUMLPort () const
const UMLRoleasUMLRole () const
const UMLStereotypeasUMLStereotype () const
const UMLTemplateasUMLTemplate () const
const UMLUniqueConstraintasUMLUniqueConstraint () const
const UMLUseCaseasUMLUseCase () 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
UMLRolem_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< UMLStereotypem_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< UMLObjectm_pSecondary
QString m_SecondaryId
QString m_SecondaryFallback
QStringList m_TaggedValues
UMLObjectPrivatem_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.

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