umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
AdaWriter Class Reference

#include <adawriter.h>

Inheritance diagram for AdaWriter:
Collaboration diagram for AdaWriter:

Public Member Functions

 AdaWriter ()
 
virtual ~AdaWriter ()
 
virtual void writeClass (UMLClassifier *c)
 
virtual Uml::ProgrammingLanguage::Enum language () const
 
QStringList defaultDatatypes () const
 
virtual bool isReservedKeyword (const QString &rPossiblyReservedKeyword)
 
virtual QStringList reservedKeywords () const
 
- Public Member Functions inherited from SimpleCodeGenerator
 SimpleCodeGenerator (bool createDirHierarchyForPackages=true)
 
virtual ~SimpleCodeGenerator ()
 
void writeCodeToFile (UMLClassifierList &concepts)
 
void writeCodeToFile ()
 
- Public Member Functions inherited from CodeGenerator
 CodeGenerator ()
 
virtual ~CodeGenerator ()
 
bool addCodeDocument (CodeDocument *add_object)
 
bool removeCodeDocument (CodeDocument *remove_object)
 
CodeDocumentListgetCodeDocumentList ()
 
QString getUniqueID (CodeDocument *codeDoc)
 
virtual void saveToXMI (QXmlStreamWriter &writer)
 
CodeDocumentfindCodeDocumentByID (const QString &id)
 
void setIncludeHeadings (bool i)
 
bool includeHeadings () const
 
void setHeadingFileDir (const QString &)
 
QString headingFileDir () const
 
void setForceDoc (bool f)
 
bool forceDoc () const
 
void setForceSections (bool f)
 
bool forceSections () const
 
virtual QString getHeadingFile (const QString &file)
 
QString findFileName (CodeDocument *codeDocument)
 
virtual void loadFromXMI (QDomElement &element)
 
CodeDocumentfindCodeDocumentByClassifier (UMLClassifier *classifier)
 
virtual void createDefaultStereotypes ()
 

Private Types

typedef QMap< QString, QFile * > PackageFileMap
 

Private Member Functions

void declareClass (UMLClassifier *c, QTextStream &ada)
 
void writeOperation (UMLOperation *op, QTextStream &ada, bool is_comment=false)
 
void computeAssocTypeAndRole (UMLClassifier *c, UMLAssociation *a, QString &typeName, QString &roleName)
 
QString className (UMLClassifier *c, bool inOwnScope=true)
 
void finalizeRun ()
 

Static Private Member Functions

static bool isOOClass (const UMLClassifier *c)
 
static QString packageName (UMLPackage *p)
 

Private Attributes

PackageFileMap m_pkgsGenerated
 
UMLClassifierList m_classesGenerated
 

Static Private Attributes

static const QString defaultPackageSuffix = QLatin1String("_Holder")
 

Additional Inherited Members

- Public Types inherited from CodeGenerator
enum  GenerationState { Generated , Failed , Skipped }
 
- Public Slots inherited from SimpleCodeGenerator
virtual void syncCodeToDocument ()
 
- Public Slots inherited from CodeGenerator
virtual void syncCodeToDocument ()
 
- Signals inherited from CodeGenerator
void codeGenerated (UMLClassifier *concept, bool generated)
 
void codeGenerated (UMLClassifier *concept, CodeGenerator::GenerationState result)
 
void showGeneratedFile (const QString &filename)
 
- Static Public Member Functions inherited from CodeGenerator
static QString cleanName (const QString &name)
 
static QString formatDoc (const QString &text, const QString &linePrefix=QLatin1String(" *"), int lineWidth=80)
 
static QString formatSourceCode (const QString &code, const QString &indentation)
 
static void findObjectsRelated (UMLClassifier *c, UMLPackageList &cList)
 
- Protected Member Functions inherited from SimpleCodeGenerator
QString findFileName (UMLPackage *concept, const QString &ext)
 
QString overwritableName (UMLPackage *concept, const QString &name, const QString &ext)
 
bool hasDefaultValueAttr (UMLClassifier *c)
 
bool hasAbstractOps (UMLClassifier *c)
 
QString indent ()
 
virtual void initFromParentDocument ()
 
- Protected Member Functions inherited from CodeGenerator
QString overwritableName (const QString &name, const QString &extension)
 
bool openFile (QFile &file, const QString &name)
 
void writeListedCodeDocsToFile (CodeDocumentList *docs)
 
- Protected Attributes inherited from SimpleCodeGenerator
QString className_
 
QString fileName_
 
QMap< UMLPackage *, QString > m_fileMap
 
bool m_createDirHierarchyForPackages
 
QString m_indentation
 
int m_indentLevel
 
QString m_endl
 
- Protected Attributes inherited from CodeGenerator
QHash< QString, CodeDocument * > m_codeDocumentDictionary
 
bool m_applyToAllRemaining
 
UMLDocm_document
 

Detailed Description

Class AdaWriter is a code generator for UMLClassifier objects. Based on javawriter.h by Luis De la Parra Blum. Create an instance of this class, and feed it a UMLClassifier when calling writeClass and it will generate an Ada package spec for that concept.

Member Typedef Documentation

◆ PackageFileMap

typedef QMap<QString, QFile*> AdaWriter::PackageFileMap
private

Constructor & Destructor Documentation

◆ AdaWriter()

AdaWriter::AdaWriter ( )

Basic Constructor

◆ ~AdaWriter()

AdaWriter::~AdaWriter ( )
virtual

Empty Destructor

Member Function Documentation

◆ className()

QString AdaWriter::className ( UMLClassifier c,
bool  inOwnScope = true 
)
private

Returns the class name.

Here is the call graph for this function:

◆ computeAssocTypeAndRole()

void AdaWriter::computeAssocTypeAndRole ( UMLClassifier c,
UMLAssociation a,
QString &  typeName,
QString &  roleName 
)
private

Compute the type and role name from the given association.

Parameters
cThe UMLClassifier for which code is being generated.
aThe UMLAssociation to analyze.
typeNameReturn value: type name.
roleNameReturn value: role name.
Here is the call graph for this function:

◆ declareClass()

void AdaWriter::declareClass ( UMLClassifier c,
QTextStream &  ada 
)
private
Here is the call graph for this function:

◆ defaultDatatypes()

QStringList AdaWriter::defaultDatatypes ( ) const
virtual

Returns the default datatypes.

Reimplemented from CodeGenerator.

◆ finalizeRun()

void AdaWriter::finalizeRun ( )
privatevirtual

A single call to writeCodeToFile() usually entails processing many items (e.g. as classifiers) for which code is generated. This method is called after all code of one call to writeCodeToFile() has been generated. It can be reimplemented by concrete code generators to perform additional cleanups or other actions that can only be performed once all code has been written.

Reimplemented from CodeGenerator.

Here is the call graph for this function:

◆ isOOClass()

bool AdaWriter::isOOClass ( const UMLClassifier c)
staticprivate

Return true if `c' is a tagged type or Ada2005 interface.

Here is the call graph for this function:

◆ isReservedKeyword()

bool AdaWriter::isReservedKeyword ( const QString &  rPossiblyReservedKeyword)
virtual

Check whether the given string is a reserved word for the language of this code generator

Parameters
rPossiblyReservedKeywordThe string to check.

Reimplemented from CodeGenerator.

Here is the call graph for this function:

◆ language()

Uml::ProgrammingLanguage::Enum AdaWriter::language ( ) const
virtual

Returns "Ada".

Returns
the programming language identifier

Implements CodeGenerator.

◆ packageName()

QString AdaWriter::packageName ( UMLPackage p)
staticprivate

Returns the package name.

Here is the call graph for this function:

◆ reservedKeywords()

QStringList AdaWriter::reservedKeywords ( ) const
virtual

Get list of reserved keywords.

Returns
the list of reserved keywords

Reimplemented from CodeGenerator.

◆ writeClass()

void AdaWriter::writeClass ( UMLClassifier c)
virtual

Call this method to generate Ada code for a UMLClassifier.

Parameters
cthe class to generate code for

Implements SimpleCodeGenerator.

Here is the call graph for this function:

◆ writeOperation()

void AdaWriter::writeOperation ( UMLOperation op,
QTextStream &  ada,
bool  is_comment = false 
)
private

Write one operation.

Parameters
opthe class for which we are generating code
adathe stream associated with the output file
is_commentflag for a comment
Here is the call graph for this function:

Member Data Documentation

◆ defaultPackageSuffix

const QString AdaWriter::defaultPackageSuffix = QLatin1String("_Holder")
staticprivate

◆ m_classesGenerated

UMLClassifierList AdaWriter::m_classesGenerated
private

List of classifiers generated. Required for ensuring order of code generation which satisfies order of dependencies among classifiers.

◆ m_pkgsGenerated

PackageFileMap AdaWriter::m_pkgsGenerated
private

Map package name to QFile. Required for closing opened files in finalizeRun().


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