umbrello: DClassifierCodeDocument Class Reference

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

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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

`#include <dclassifiercodedocument.h>`

Inheritance diagram for DClassifierCodeDocument:

## Public Member Functions
| DClassifierCodeDocument (UMLClassifier *classifier)
virtual | ~DClassifierCodeDocument ()
DCodeGenerationPolicy * | getDPolicy ()
QString | getDClassName (const QString &name) const
QString | getPath () const
bool | addCodeOperation (CodeOperation *op)
void | updateContent ()
Public Member Functions inherited from ClassifierCodeDocument
| ClassifierCodeDocument (UMLClassifier *parent)
virtual | ~ClassifierCodeDocument ()
bool | addCodeClassField (CodeClassField *add_object)
bool | removeCodeClassField (CodeClassField *remove_object)
CodeClassFieldList * | getCodeClassFieldList ()
bool | parentIsInterface () const
bool | parentIsClass () const
bool | hasAssociationClassFields () const
bool | hasAttributeClassFields () const
bool | hasObjectVectorClassFields () const
bool | hasClassFields () const
QList< const CodeOperation * > | getCodeOperations () const
CodeClassFieldList | getSpecificClassFields (CodeClassField::ClassFieldType cfType) const
CodeClassFieldList | getSpecificClassFields (CodeClassField::ClassFieldType cfType, bool isStatic) const
CodeClassFieldList | getSpecificClassFields (CodeClassField::ClassFieldType cfType, Uml::Visibility::Enum visibility) const
CodeClassFieldList | getSpecificClassFields (CodeClassField::ClassFieldType cfType, bool isStatic, Uml::Visibility::Enum visibility) const
CodeClassField * | findCodeClassFieldFromParentID (Uml::ID::Type id, int role_id=-1)
UMLClassifier * | getParentClassifier () const
void | addCodeClassFieldMethods (CodeClassFieldList &list)
virtual void | initCodeClassFields ()
virtual void | synchronize ()
virtual bool | addCodeOperation (CodeOperation *opBlock)=0
virtual void | updateContent ()=0
virtual void | saveToXMI (QXmlStreamWriter &writer)
virtual void | loadFromXMI (QDomElement &root)
Public Member Functions inherited from CodeDocument
| CodeDocument ()
virtual | ~CodeDocument ()
void | setFileExtension (const QString &new_var)
QString | getFileExtension () const
void | setFileName (const QString &new_var)
QString | getFileName () const
void | setPackage (UMLPackage *new_var)
QString | getPackage () const
virtual QString | getPath () const
void | setID (const QString &new_id)
QString | ID () const
void | setWriteOutCode (bool new_var)
bool | getWriteOutCode () const
void | setHeader (CodeComment *comment)
CodeComment * | getHeader () const
bool | insertTextBlock (TextBlock *newBlock, TextBlock *existingBlock, bool after=true)
TextBlock * | findTextBlockByTag (const QString &tag, bool descendIntoChildren=false) const
virtual QString | toString () const
virtual void | saveToXMI (QXmlStreamWriter &writer)
virtual void | loadFromXMI (QDomElement &root)
virtual CodeBlock * | newCodeBlock ()
virtual HierarchicalCodeBlock * | newHierarchicalCodeBlock ()
virtual CodeBlockWithComments * | newCodeBlockWithComments ()
virtual QString | getUniqueTag (const QString &prefix=QString())
QString | cleanName (const QString &name)
virtual void | synchronize ()
virtual void | updateContent ()
Public Member Functions inherited from CodeGenObjectWithTextBlocks
| CodeGenObjectWithTextBlocks (CodeDocument *parent)
virtual | ~CodeGenObjectWithTextBlocks ()
virtual bool | addTextBlock (TextBlock *add_object)
virtual bool | removeTextBlock (TextBlock *remove_object)
virtual bool | insertTextBlock (TextBlock *newBlock, TextBlock *existingBlock, bool after)=0
TextBlockList * | getTextBlockList () const
virtual HierarchicalCodeBlock * | getHierarchicalCodeBlock (const QString &tag, const QString &comment, int indentLevel)
virtual CodeBlockWithComments * | getCodeBlockWithComments (const QString &tag, const QString &comment, int indentLevel)
CodeComment * | addOrUpdateTaggedCodeComment (const QString &tag=QString(), const QString &text=QString(), int indentationLevel=0)
CodeBlockWithComments * | addOrUpdateTaggedCodeBlockWithComments (const QString &tag, const QString &text, const QString &ctext, int indentLevel, bool forceUserBlockUpdate)
TextBlock * | findTextBlockByTag (const QString &tag)
virtual QString | getUniqueTag (const QString &prefix=QString())=0
virtual CodeBlock * | newCodeBlock ()=0
virtual CodeBlockWithComments * | newCodeBlockWithComments ()=0
virtual HierarchicalCodeBlock * | newHierarchicalCodeBlock ()=0
CodeGenObjectWithTextBlocks * | findParentObjectForTaggedTextBlock (const QString &tag)

## Protected Member Functions
void | resetTextBlocks ()
virtual void | loadChildTextBlocksFromNode (QDomElement &root)
void | addOrUpdateCodeClassFieldMethodsInCodeBlock (CodeClassFieldList &list, DClassDeclarationBlock *codeBlock)
bool | forceDoc ()
Protected Member Functions inherited from ClassifierCodeDocument
void | loadClassFieldsFromXMI (QDomElement &childElem)
virtual void | setAttributesOnNode (QXmlStreamWriter &writer)
virtual void | setAttributesFromNode (QDomElement &element)
TextBlock * | findCodeClassFieldTextBlockByTag (const QString &tag)
void | declareClassFields (CodeClassFieldList &list, CodeGenObjectWithTextBlocks *parent)
void | syncClassFields ()
void | syncNamesToParent ()
Protected Member Functions inherited from CodeDocument
virtual void | setAttributesOnNode (QXmlStreamWriter &writer)
virtual void | setAttributesFromNode (QDomElement &element)
void | addChildTagToMap (const QString &tag, TextBlock *tb)
void | removeChildTagFromMap (const QString &tag)
void | updateHeader ()
void | resetTextBlocks ()
virtual TextBlock * | findCodeClassFieldTextBlockByTag (const QString &tag)
Protected Member Functions inherited from CodeGenObjectWithTextBlocks
virtual void | setAttributesOnNode (QXmlStreamWriter &writer)
virtual void | setAttributesFromNode (QDomElement &element)
void | setAttributesFromObject (CodeGenObjectWithTextBlocks *obj)
virtual void | loadChildTextBlocksFromNode (QDomElement &root)
virtual void | resetTextBlocks ()
virtual TextBlock * | findCodeClassFieldTextBlockByTag (const QString &tag)=0

## Private Member Functions
void | init ()
DClassDeclarationBlock * | getClassDecl ()

## Private Attributes
DClassDeclarationBlock * | classDeclCodeBlock
HierarchicalCodeBlock * | constructorBlock
HierarchicalCodeBlock * | operationsBlock

## Additional Inherited Members
Public Slots inherited from ClassifierCodeDocument
void | addAttributeClassField (UMLClassifierListItem *at, bool syncToParentIfAdded=true)
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 ()
Protected Attributes inherited from CodeGenObjectWithTextBlocks
QMap< QString, TextBlock * > | m_textBlockTagMap
TextBlockList | m_textblockVector

## Detailed Description

A D UMLClassifier Code Document. We carve the D document up into sections as follows:

- header
- package declaration
- import statements
- class declaration
- guts of the class (e.g. field decl, accessor methods, operations, dependent classes)

## Constructor & Destructor Documentation

## ◆ DClassifierCodeDocument()

DClassifierCodeDocument::DClassifierCodeDocument | ( | UMLClassifier * | concept | ) |
| explicit

Constructor.

## ◆ ~DClassifierCodeDocument()

DClassifierCodeDocument::~DClassifierCodeDocument | ( |  | ) |
| virtual

Empty Destructor.

## Member Function Documentation

## ◆ addCodeOperation()

bool DClassifierCodeDocument::addCodeOperation | ( | CodeOperation * | op | ) |
| virtual

Add a code operation to this d classifier code document. In the vanilla version, we just tack all operations on the end of the document.

Parameters

  op | the code operation

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

Implements ClassifierCodeDocument.

## ◆ addOrUpdateCodeClassFieldMethodsInCodeBlock()

void DClassifierCodeDocument::addOrUpdateCodeClassFieldMethodsInCodeBlock | ( | CodeClassFieldList & | list,
|  | DClassDeclarationBlock * | codeBlock
| ) |  |
| protected

## ◆ forceDoc()

bool DClassifierCodeDocument::forceDoc | ( |  | ) |
| protected

## ◆ getClassDecl()

DClassDeclarationBlock * DClassifierCodeDocument::getClassDecl | ( |  | ) |
| private

## ◆ getDClassName()

QString DClassifierCodeDocument::getDClassName | ( | const QString & | name | ) | const

## ◆ getDPolicy()

DCodeGenerationPolicy * DClassifierCodeDocument::getDPolicy | ( |  | ) |

## ◆ getPath()

QString DClassifierCodeDocument::getPath | ( |  | ) | const
| virtual

Get the value of the path to this code document.

Returns
  the value of m_pathName

Reimplemented from CodeDocument.

## ◆ init()

void DClassifierCodeDocument::init | ( |  | ) |
| private

## ◆ loadChildTextBlocksFromNode()

void DClassifierCodeDocument::loadChildTextBlocksFromNode | ( | QDomElement & | root | ) |
| protectedvirtual

Need to overwrite this for d since we need to pick up the d class declaration block. Sigh. NOT optimal. The only reason that we need to have this is so we can create the DClassDeclarationBlock. would be better if we could create a handler interface that each codeblock used so all we have to do here is add the handler for "dclassdeclarationblock".

Reimplemented from CodeGenObjectWithTextBlocks.

## ◆ resetTextBlocks()

void DClassifierCodeDocument::resetTextBlocks | ( |  | ) |
| protectedvirtual

Reset/clear our inventory of textblocks in this document.

Reimplemented from CodeDocument.

## ◆ updateContent()

void DClassifierCodeDocument::updateContent | ( |  | ) |
| virtual

Update the content of this code document. This is where you should lay out your code document structure of textblocks in the inheriting class, should it have any text in it. Vanilla code documents don't have much to do.. override this with a different version for your own documents.

Implements ClassifierCodeDocument.

## Member Data Documentation

## ◆ classDeclCodeBlock

DClassDeclarationBlock* DClassifierCodeDocument::classDeclCodeBlock
| private

## ◆ constructorBlock

HierarchicalCodeBlock* DClassifierCodeDocument::constructorBlock
| private

## ◆ operationsBlock

HierarchicalCodeBlock* DClassifierCodeDocument::operationsBlock
| private

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

- umbrello/codegenerators/d/dclassifiercodedocument.h
- umbrello/codegenerators/d/dclassifiercodedocument.cpp