umbrello API Documentation

UMLPackage Class Reference

This class contains the non-graphical information required for a UML Package. Non-graphical information for a Package. More...

#include <package.h>

Inheritance diagram for UMLPackage:

UMLCanvasObject UMLObject UMLClassifier UMLComponent UMLFolder UMLEntity UMLEnum List of all members.

Public Member Functions

 UMLPackage (const QString &name="", Uml::IDType id=Uml::id_None)
 Sets up a Package.
virtual ~UMLPackage ()
 Empty deconstructor.
virtual void copyInto (UMLPackage *rhs) const
 Copy the internal presentation of this object into the new object.
virtual UMLObjectclone () const
 Make a clone of this object.
void init ()
 Initializes key variables of the class.
bool addObject (UMLObject *pObject)
 Adds an object in this package.
void removeObject (UMLObject *pObject)
 Removes an object from this package.
virtual void removeAllObjects ()
 Removes all objects from this package.
UMLObjectList containedObjects ()
 Returns the list of objects contained in this package.
void addAssocToConcepts (UMLAssociation *assoc)
 Adds an existing association to the matching concept in the list of concepts.
void removeAssocFromConcepts (UMLAssociation *assoc)
 Remove the association from the participating concepts.
UMLObjectfindObject (const QString &name)
 Find the object of the given name in the list of contained objects.
UMLObjectfindObjectById (Uml::IDType id)
 Find the object of the given ID in the list of contained objects.
void appendClassifiers (UMLClassifierList &classifiers, bool includeNested=true)
 Append all classifiers from this package (and those from nested packages) to the given UMLClassifierList.
void appendClasses (UMLClassifierList &classes, bool includeNested=true)
 Append all classes from this package (and those from nested packages) to the given UMLClassifierList.
void appendClassesAndInterfaces (UMLClassifierList &classifiers, bool includeNested=true)
 Append all classes and interfaces from this package (and those from nested packages) to the given UMLClassifierList.
void appendInterfaces (UMLClassifierList &interfaces, bool includeNested=true)
 Append all interfaces from this package (and those from nested packages) to the given UMLClassifierList.
virtual bool resolveRef ()
 Resolve types.
virtual void saveToXMI (QDomDocument &qDoc, QDomElement &qElement)
 Creates the <UML:Package> XMI element.

Protected Member Functions

virtual bool load (QDomElement &element)
 Loads the <UML:Package> XMI element.

Protected Attributes

UMLObjectList m_objects
 References to the objects contained in this package.

Detailed Description

This class contains the non-graphical information required for a UML Package. Non-graphical information for a Package.

This class inherits from UMLCanvasObject which contains most of the information.

Author:
Jonathan Riddell
See also:
UMLCanvasObject Bugs and comments to uml-devel@lists.sf.net or http://bugs.kde.org

Definition at line 34 of file package.h.


Constructor & Destructor Documentation

UMLPackage::UMLPackage const QString &  name = "",
Uml::IDType  id = Uml::id_None
[explicit]
 

Sets up a Package.

Parameters:
name The name of the Concept.
id The unique id of the Concept.

Definition at line 31 of file package.cpp.

References init().

Referenced by clone().

UMLPackage::~UMLPackage  )  [virtual]
 

Empty deconstructor.

Definition at line 36 of file package.cpp.


Member Function Documentation

void UMLPackage::copyInto UMLPackage rhs  )  const [virtual]
 

Copy the internal presentation of this object into the new object.

Definition at line 43 of file package.cpp.

References UMLObjectList::copyInto(), UMLCanvasObject::copyInto(), and m_objects.

Referenced by clone().

UMLObject * UMLPackage::clone  )  const [virtual]
 

Make a clone of this object.

Implements UMLObject.

Reimplemented in UMLClassifier, UMLComponent, UMLEntity, UMLEnum, and UMLFolder.

Definition at line 50 of file package.cpp.

References clone(), copyInto(), and UMLPackage().

Referenced by clone().

void UMLPackage::init  )  [virtual]
 

Initializes key variables of the class.

Reimplemented from UMLCanvasObject.

Reimplemented in UMLComponent, and UMLFolder.

Definition at line 39 of file package.cpp.

Referenced by UMLClassifier::UMLClassifier(), UMLEntity::UMLEntity(), UMLEnum::UMLEnum(), and UMLPackage().

bool UMLPackage::addObject UMLObject pObject  ) 
 

Adds an object in this package.

Parameters:
pObject Pointer to the UMLObject to add.
Returns:
True if the object was actually added.

Definition at line 97 of file package.cpp.

References addAssocToConcepts(), UMLObject::getName(), UMLAssociation::getObject(), UMLObject::getUMLPackage(), and m_objects.

Referenced by UMLDoc::addAssociation(), UMLListView::addAtContainer(), UMLDoc::addUMLObject(), UMLDoc::closeDocument(), UMLListView::createUMLObject(), UMLDoc::init(), UMLComponent::load(), UMLObject::loadFromXMI(), UMLDoc::loadUMLObjectsFromXMI(), and UMLListView::moveObject().

void UMLPackage::removeObject UMLObject pObject  ) 
 

Removes an object from this package.

Does not physically delete the object.

Parameters:
pObject Pointer to the UMLObject to be removed.

Definition at line 126 of file package.cpp.

References m_objects, and removeAssocFromConcepts().

Referenced by Import_Utils::createUMLObject(), load(), UMLFolder::load(), UMLClassifier::load(), UMLListView::moveObject(), removeAllObjects(), UMLDoc::removeAssociation(), and UMLDoc::removeUMLObject().

void UMLPackage::removeAllObjects  )  [virtual]
 

Removes all objects from this package.

Inner containers (e.g. nested packages) are removed recursively.

Definition at line 139 of file package.cpp.

References m_objects, and removeObject().

Referenced by UMLDoc::closeDocument().

UMLObjectList UMLPackage::containedObjects  ) 
 

Returns the list of objects contained in this package.

Definition at line 153 of file package.cpp.

References m_objects.

Referenced by UMLView::createAutoAssociations(), UMLDoc::createDatatype(), UMLListView::deleteItem(), UMLDoc::findUMLObject(), Model_Utils::findUMLObject(), and UMLDoc::getDatatypes().

void UMLPackage::addAssocToConcepts UMLAssociation assoc  ) 
 

Adds an existing association to the matching concept in the list of concepts.

The selection of the matching concept depends on the association type: For generalizations, the assoc is added to the concept that matches role A. For aggregations and compositions , the assoc is added to the concept that matches role B.

Parameters:
assoc The association to add

Definition at line 58 of file package.cpp.

References UMLCanvasObject::addAssociationEnd(), UMLObject::getID(), UMLObject::getName(), UMLCanvasObject::hasAssociation(), and m_objects.

Referenced by addObject(), and UMLAssociation::resolveRef().

void UMLPackage::removeAssocFromConcepts UMLAssociation assoc  ) 
 

Remove the association from the participating concepts.

Definition at line 82 of file package.cpp.

References UMLCanvasObject::hasAssociation(), m_objects, and UMLCanvasObject::removeAssociationEnd().

Referenced by removeObject().

UMLObject * UMLPackage::findObject const QString &  name  ) 
 

Find the object of the given name in the list of contained objects.

Parameters:
name The name to seek.
Returns:
Pointer to the UMLObject found or NULL if not found.

Definition at line 157 of file package.cpp.

References UMLApp::activeLanguageIsCaseSensitive(), UMLObject::getName(), and m_objects.

Referenced by UMLDoc::findUMLObject(), and UMLListView::isUnique().

UMLObject * UMLPackage::findObjectById Uml::IDType  id  ) 
 

Find the object of the given ID in the list of contained objects.

Parameters:
id The ID to seek.
Returns:
Pointer to the UMLObject found or NULL if not found.

Definition at line 171 of file package.cpp.

References Model_Utils::findObjectInList(), and m_objects.

Referenced by UMLDoc::findObjectById().

void UMLPackage::appendClassifiers UMLClassifierList &  classifiers,
bool  includeNested = true
 

Append all classifiers from this package (and those from nested packages) to the given UMLClassifierList.

Parameters:
classifiers The list to append to.
includeNested Whether to include the classifiers from nested packages (default: true.)

Definition at line 175 of file package.cpp.

References UMLObject::getBaseType(), and m_objects.

Referenced by UMLDoc::getConcepts().

void UMLPackage::appendClasses UMLClassifierList &  classes,
bool  includeNested = true
 

Append all classes from this package (and those from nested packages) to the given UMLClassifierList.

Parameters:
classes The list to append to.
includeNested Whether to include the classes from nested packages (default: true.)

Definition at line 190 of file package.cpp.

References UMLObject::getBaseType(), and m_objects.

Referenced by UMLDoc::getClasses().

void UMLPackage::appendClassesAndInterfaces UMLClassifierList &  classifiers,
bool  includeNested = true
 

Append all classes and interfaces from this package (and those from nested packages) to the given UMLClassifierList.

Parameters:
classifiers The list to append to.
includeNested Whether to include the classifiers from nested packages (default: true.)

Definition at line 205 of file package.cpp.

References UMLObject::getBaseType(), and m_objects.

Referenced by UMLDoc::getClassesAndInterfaces().

void UMLPackage::appendInterfaces UMLClassifierList &  interfaces,
bool  includeNested = true
 

Append all interfaces from this package (and those from nested packages) to the given UMLClassifierList.

Parameters:
interfaces The list to append to.
includeNested Whether to include the interfaces from nested packages (default: true.)

Definition at line 220 of file package.cpp.

References UMLObject::getBaseType(), and m_objects.

Referenced by UMLDoc::getInterfaces().

bool UMLPackage::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() on each contained object.

Returns:
True for overall success.

Reimplemented from UMLCanvasObject.

Reimplemented in UMLClassifier, and UMLEntity.

Definition at line 235 of file package.cpp.

References UMLObject::getBaseType(), m_objects, UMLObject::resolveRef(), and UMLCanvasObject::resolveRef().

Referenced by UMLClassifier::resolveRef(), and UMLDoc::resolveTypes().

void UMLPackage::saveToXMI QDomDocument &  qDoc,
QDomElement &  qElement
[virtual]
 

Creates the <UML:Package> XMI element.

Implements UMLObject.

Reimplemented in UMLClassifier, UMLComponent, UMLEntity, UMLEnum, and UMLFolder.

Definition at line 249 of file package.cpp.

References m_objects, UMLObject::save(), and UMLObject::saveToXMI().

Referenced by UMLDoc::saveToXMI().

bool UMLPackage::load QDomElement &  element  )  [protected, virtual]
 

Loads the <UML:Package> XMI element.

Auxiliary to UMLObject::loadFromXMI.

Reimplemented from UMLObject.

Reimplemented in UMLClassifier, UMLComponent, UMLEntity, UMLEnum, and UMLFolder.

Definition at line 264 of file package.cpp.

References UMLObject::loadFromXMI(), removeObject(), UMLObject::setUMLPackage(), and Uml::tagEq().


Member Data Documentation

UMLObjectList UMLPackage::m_objects [protected]
 

References to the objects contained in this package.

The UMLPackage is the owner of the objects.

Definition at line 194 of file package.h.

Referenced by addAssocToConcepts(), addObject(), appendClasses(), appendClassesAndInterfaces(), appendClassifiers(), appendInterfaces(), containedObjects(), copyInto(), findObject(), findObjectById(), removeAllObjects(), removeAssocFromConcepts(), removeObject(), resolveRef(), and saveToXMI().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for umbrello Version 3.1.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Jun 26 08:08:07 2007 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003