umbrello API Documentation

ClassifierCodeDocument Class Reference

class ClassifierCodeDocument A CodeDocument which represents a UMLClassifier (e.g. More...

#include <classifiercodedocument.h>

Inheritance diagram for ClassifierCodeDocument:

CodeDocument CodeGenObjectWithTextBlocks CPPHeaderCodeDocument CPPSourceCodeDocument JavaClassifierCodeDocument RubyClassifierCodeDocument List of all members.

Public Slots

void addAttributeClassField (UMLClassifierListItem *at, bool syncToParentIfAdded=true)
 Synchronize this document to the attributes/associations of the parent classifier.
void addAssociationClassField (UMLAssociation *assoc, bool syncToParentIfAdded=true)
void removeAttributeClassField (UMLClassifierListItem *at)
void removeAssociationClassField (UMLAssociation *assoc)
void addOperation (UMLClassifierListItem *obj)
void removeOperation (UMLClassifierListItem *obj)
void syncToParent ()

Public Member Functions

 ClassifierCodeDocument (UMLClassifier *parent)
 Empty Constructor.
virtual ~ClassifierCodeDocument ()
 Empty Destructor.
bool addCodeClassField (CodeClassField *add_object)
 Add a CodeClassField object to the m_classfieldVector List.
bool removeCodeClassField (CodeClassField *remove_object)
 Remove a CodeClassField object from m_classfieldVector List.
CodeClassFieldList * getCodeClassFieldList ()
 Get the list of CodeClassField objects held by m_classfieldVector.
bool parentIsInterface ()
 Return if the parent classifier is an interface.
bool parentIsClass ()
 Return if the parent classifier is a class.
bool hasAssociationClassFields ()
 Tell if one or more codeclassfields are derived from any kind of association.
bool hasAttributeClassFields ()
 Tell if one or more codeclassfields are derived from attributes.
bool hasObjectVectorClassFields ()
 Tell if any of the accessor classfields will be of lists of objects.
bool hasClassFields ()
 Does this object have any classfields declared?
QPtrList< CodeOperation > getCodeOperations ()
 Get a list of codeoperation objects held by this classifiercodedocument.
CodeClassFieldList getSpecificClassFields (CodeClassField::ClassFieldType cfType)
 Get a list of codeclassifier objects held by this classifiercodedocument that meet the passed criteria.
CodeClassFieldList getSpecificClassFields (CodeClassField::ClassFieldType cfType, bool isStatic)
 Get a list of codeclassifier objects held by this classifiercodedocument that meet the passed criteria.
CodeClassFieldList getSpecificClassFields (CodeClassField::ClassFieldType cfType, Uml::Visibility visibility)
 Get a list of codeclassifier objects held by this classifiercodedocument that meet the passed criteria.
CodeClassFieldList getSpecificClassFields (CodeClassField::ClassFieldType cfType, bool isStatic, Uml::Visibility visibility)
 Get a list of codeclassifier objects held by this classifiercodedocument that meet the passed criteria.
CodeClassFieldfindCodeClassFieldFromParentID (Uml::IDType id, int role_id=-1)
 Using the parent object's UML ID, find the corresponding codeclassfield object in this classifiercodedocument.
UMLClassifiergetParentClassifier ()
 Get the value of m_parentclassifier.
void addCodeClassFieldMethods (CodeClassFieldList &list)
virtual void initCodeClassFields ()
 Utility method to appropriately populate the code classfields for this document.
virtual void synchronize ()
virtual bool addCodeOperation (CodeOperation *opBlock)=0
 Will add the code operation in the correct place in the document.
virtual void saveToXMI (QDomDocument &doc, QDomElement &root)
 Save the XMI representation of this object.
virtual void loadFromXMI (QDomElement &root)
 load params from the appropriate XMI element node.

Protected Member Functions

void loadClassFieldsFromXMI (QDomElement &childElem)
 Load CodeClassFields from XMI element node.
virtual void setAttributesOnNode (QDomDocument &doc, QDomElement &blockElement)
 set attributes of the node that represents this class in the XMI document.
virtual void setAttributesFromNode (QDomElement &element)
 set the class attributes of this object from the passed element node.
TextBlockfindCodeClassFieldTextBlockByTag (const QString &tag)
void declareClassFields (CodeClassFieldList &list, CodeGenObjectWithTextBlocks *parent)
virtual void updateContent ()=0
void syncClassFields ()
void syncNamesToParent ()

Friends

class HierarchicalCodeBlock

Detailed Description

class ClassifierCodeDocument A CodeDocument which represents a UMLClassifier (e.g.

a Class or Interface)

Definition at line 41 of file classifiercodedocument.h.


Constructor & Destructor Documentation

ClassifierCodeDocument::ClassifierCodeDocument UMLClassifier parent  ) 
 

Empty Constructor.

Definition at line 41 of file classifiercodedocument.cpp.

ClassifierCodeDocument::~ClassifierCodeDocument  )  [virtual]
 

Empty Destructor.

Definition at line 46 of file classifiercodedocument.cpp.


Member Function Documentation

bool ClassifierCodeDocument::addCodeClassField CodeClassField add_object  ) 
 

Add a CodeClassField object to the m_classfieldVector List.

Returns:
boolean true if successful in adding

Definition at line 171 of file classifiercodedocument.cpp.

Referenced by addAttributeClassField(), and initCodeClassFields().

bool ClassifierCodeDocument::removeCodeClassField CodeClassField remove_object  ) 
 

Remove a CodeClassField object from m_classfieldVector List.

Definition at line 195 of file classifiercodedocument.cpp.

References CodeParameter::getParentObject().

CodeClassFieldList * ClassifierCodeDocument::getCodeClassFieldList  ) 
 

Get the list of CodeClassField objects held by m_classfieldVector.

Returns:
CodeClassFieldList list of CodeClassField objects held by m_classfieldVector

Definition at line 238 of file classifiercodedocument.cpp.

Referenced by CPPHeaderCodeDocument::updateContent().

bool ClassifierCodeDocument::parentIsInterface  ) 
 

Return if the parent classifier is an interface.

Definition at line 379 of file classifiercodedocument.cpp.

References UMLObject::getBaseType().

Referenced by CPPHeaderCodeDocument::updateContent().

bool ClassifierCodeDocument::parentIsClass  ) 
 

Return if the parent classifier is a class.

Definition at line 375 of file classifiercodedocument.cpp.

References UMLObject::getBaseType().

Referenced by initCodeClassFields().

bool ClassifierCodeDocument::hasAssociationClassFields  ) 
 

Tell if one or more codeclassfields are derived from any kind of association.

Definition at line 152 of file classifiercodedocument.cpp.

References getSpecificClassFields().

bool ClassifierCodeDocument::hasAttributeClassFields  ) 
 

Tell if one or more codeclassfields are derived from attributes.

Definition at line 160 of file classifiercodedocument.cpp.

References getSpecificClassFields().

bool ClassifierCodeDocument::hasObjectVectorClassFields  ) 
 

Tell if any of the accessor classfields will be of lists of objects.

Definition at line 125 of file classifiercodedocument.cpp.

References CodeClassField::getClassFieldType(), UMLRole::getMultiplicity(), and CodeParameter::getParentObject().

Referenced by CPPHeaderCodeDocument::updateContent().

bool ClassifierCodeDocument::hasClassFields  ) 
 

Does this object have any classfields declared?

Definition at line 143 of file classifiercodedocument.cpp.

Referenced by CPPHeaderCodeDocument::updateContent().

QPtrList< CodeOperation > ClassifierCodeDocument::getCodeOperations  ) 
 

Get a list of codeoperation objects held by this classifiercodedocument.

Returns:
QPtrList<CodeOperation>

Definition at line 253 of file classifiercodedocument.cpp.

References CodeGenObjectWithTextBlocks::getTextBlockList().

CodeClassFieldList ClassifierCodeDocument::getSpecificClassFields CodeClassField::ClassFieldType  cfType  ) 
 

Get a list of codeclassifier objects held by this classifiercodedocument that meet the passed criteria.

Returns:
CodeClassFieldList

Definition at line 66 of file classifiercodedocument.cpp.

References CodeClassField::getClassFieldType().

Referenced by hasAssociationClassFields(), hasAttributeClassFields(), and CPPHeaderCodeDocument::updateContent().

CodeClassFieldList ClassifierCodeDocument::getSpecificClassFields CodeClassField::ClassFieldType  cfType,
bool  isStatic
 

Get a list of codeclassifier objects held by this classifiercodedocument that meet the passed criteria.

Returns:
CodeClassFieldList

Definition at line 80 of file classifiercodedocument.cpp.

References CodeClassField::getClassFieldType(), and CodeParameter::getStatic().

CodeClassFieldList ClassifierCodeDocument::getSpecificClassFields CodeClassField::ClassFieldType  cfType,
Uml::Visibility  visibility
 

Get a list of codeclassifier objects held by this classifiercodedocument that meet the passed criteria.

Returns:
CodeClassFieldList

Definition at line 95 of file classifiercodedocument.cpp.

References CodeClassField::getClassFieldType(), and CodeParameter::getVisibility().

CodeClassFieldList ClassifierCodeDocument::getSpecificClassFields CodeClassField::ClassFieldType  cfType,
bool  isStatic,
Uml::Visibility  visibility
 

Get a list of codeclassifier objects held by this classifiercodedocument that meet the passed criteria.

Returns:
CodeClassFieldList

Definition at line 110 of file classifiercodedocument.cpp.

References CodeClassField::getClassFieldType(), CodeParameter::getStatic(), and CodeParameter::getVisibility().

CodeClassField * ClassifierCodeDocument::findCodeClassFieldFromParentID Uml::IDType  id,
int  role_id = -1
 

Using the parent object's UML ID, find the corresponding codeclassfield object in this classifiercodedocument.

Returns NULL if no such codeclassfield object exists in this document.

Parameters:
id ID of the parent object
role_id 0 for role A of the asssociation 1 for role B of the asssociation -1 if this is an attribute.

Definition at line 604 of file classifiercodedocument.cpp.

References CodeParameter::getID(), CodeParameter::getParentObject(), and UMLRole::getRole().

Referenced by loadClassFieldsFromXMI().

UMLClassifier * ClassifierCodeDocument::getParentClassifier  ) 
 

Get the value of m_parentclassifier.

Returns:
the value of m_parentclassifier

Definition at line 246 of file classifiercodedocument.cpp.

Referenced by initCodeClassFields(), saveToXMI(), setAttributesOnNode(), CPPHeaderCodeDocument::updateContent(), and CodeGenerator::writeListedCodeDocsToFile().

void ClassifierCodeDocument::initCodeClassFields  )  [virtual]
 

Utility method to appropriately populate the code classfields for this document.

IF a codeclassfield already exists, it is not added.

Definition at line 493 of file classifiercodedocument.cpp.

References addCodeClassField(), UMLCanvasObject::getAggregations(), UMLClassifier::getAttributeList(), UMLCanvasObject::getCompositions(), getParentClassifier(), UMLCanvasObject::getSpecificAssocs(), CodeGenFactory::newCodeClassField(), and parentIsClass().

Referenced by CodeGenFactory::newClassifierCodeDocument().

virtual bool ClassifierCodeDocument::addCodeOperation CodeOperation *  opBlock  )  [pure virtual]
 

Will add the code operation in the correct place in the document.

Returns:
bool which is true IF the code operation was added successfully

Implemented in CPPHeaderCodeDocument, CPPSourceCodeDocument, JavaClassifierCodeDocument, and RubyClassifierCodeDocument.

Referenced by addOperation().

void ClassifierCodeDocument::saveToXMI QDomDocument &  doc,
QDomElement &  root
[virtual]
 

Save the XMI representation of this object.

Reimplemented from CodeDocument.

Definition at line 664 of file classifiercodedocument.cpp.

References UMLObject::getName(), getParentClassifier(), and setAttributesOnNode().

void ClassifierCodeDocument::loadFromXMI QDomElement &  root  )  [virtual]
 

load params from the appropriate XMI element node.

Reimplemented from CodeDocument.

Definition at line 686 of file classifiercodedocument.cpp.

References setAttributesFromNode().

void ClassifierCodeDocument::loadClassFieldsFromXMI QDomElement &  childElem  )  [protected]
 

Load CodeClassFields from XMI element node.

Definition at line 630 of file classifiercodedocument.cpp.

References findCodeClassFieldFromParentID(), CodeParameter::getParentObject(), and CodeClassField::loadFromXMI().

Referenced by setAttributesFromNode().

void ClassifierCodeDocument::setAttributesOnNode QDomDocument &  doc,
QDomElement &  docElement
[protected, virtual]
 

set attributes of the node that represents this class in the XMI document.

Reimplemented from CodeDocument.

Definition at line 698 of file classifiercodedocument.cpp.

References CodeDocument::getID(), getParentClassifier(), CodeClassField::saveToXMI(), and CodeDocument::setAttributesOnNode().

Referenced by saveToXMI().

void ClassifierCodeDocument::setAttributesFromNode QDomElement &  elem  )  [protected, virtual]
 

set the class attributes of this object from the passed element node.

Reimplemented from CodeDocument.

Definition at line 573 of file classifiercodedocument.cpp.

References loadClassFieldsFromXMI(), and CodeDocument::setAttributesFromNode().

Referenced by loadFromXMI().

void ClassifierCodeDocument::addAttributeClassField UMLClassifierListItem at,
bool  syncToParentIfAdded = true
[slot]
 

Synchronize this document to the attributes/associations of the parent classifier.

Definition at line 184 of file classifiercodedocument.cpp.

References addCodeClassField(), and CodeGenFactory::newCodeClassField().

void ClassifierCodeDocument::addOperation UMLClassifierListItem o  )  [slot]
 

Parameters:
o The Operation to add

Definition at line 271 of file classifiercodedocument.cpp.

References addCodeOperation(), CodeDocument::findTextBlockByTag(), and CodeGenFactory::newCodeOperation().

void ClassifierCodeDocument::removeOperation UMLClassifierListItem op  )  [slot]
 

Parameters:
op 

Definition at line 300 of file classifiercodedocument.cpp.

References CodeDocument::findTextBlockByTag(), and CodeGenObjectWithTextBlocks::removeTextBlock().


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:03 2007 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003