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

#include <idlwriter.h>

Inheritance diagram for IDLWriter:
Collaboration diagram for IDLWriter:

Public Member Functions

 IDLWriter ()
 
virtual ~IDLWriter ()
 
virtual void writeClass (UMLClassifier *c)
 
virtual Uml::ProgrammingLanguage::Enum language () const
 
QStringList defaultDatatypes () const
 
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 bool isReservedKeyword (const QString &keyword)
 
virtual void createDefaultStereotypes ()
 

Private Member Functions

void writeOperation (UMLOperation *op, QTextStream &idl, bool is_comment=false)
 
void computeAssocTypeAndRole (UMLAssociation *a, UMLClassifier *c, QString &typeName, QString &roleName)
 

Static Private Member Functions

static bool isOOClass (UMLClassifier *c)
 
static bool assocTypeIsMappableToAttribute (Uml::AssociationType::Enum at)
 

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)
 
virtual void finalizeRun ()
 
- 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 IDLWriter is a code generator for UMLClassifier objects. Create an instance of this class, and feed it a UMLClassifier when calling writeClass and it will generate an IDL interface for that concept.

Constructor & Destructor Documentation

◆ IDLWriter()

IDLWriter::IDLWriter ( )

◆ ~IDLWriter()

IDLWriter::~IDLWriter ( )
virtual

Member Function Documentation

◆ assocTypeIsMappableToAttribute()

bool IDLWriter::assocTypeIsMappableToAttribute ( Uml::AssociationType::Enum  at)
staticprivate

◆ computeAssocTypeAndRole()

void IDLWriter::computeAssocTypeAndRole ( UMLAssociation a,
UMLClassifier c,
QString &  typeName,
QString &  roleName 
)
private
Here is the call graph for this function:

◆ defaultDatatypes()

QStringList IDLWriter::defaultDatatypes ( ) const
virtual

Return the default datatypes for your language (bool, int etc). Default implementation returns empty list.

Reimplemented from CodeGenerator.

◆ isOOClass()

bool IDLWriter::isOOClass ( UMLClassifier c)
staticprivate
Here is the call graph for this function:

◆ language()

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

Returns "IDL".

Implements CodeGenerator.

◆ reservedKeywords()

QStringList IDLWriter::reservedKeywords ( ) const
virtual

Get list of reserved keywords.

Reimplemented from CodeGenerator.

◆ writeClass()

void IDLWriter::writeClass ( UMLClassifier c)
virtual

Call this method to generate IDL code for a UMLClassifier.

Parameters
cthe class to generate code for

Implements SimpleCodeGenerator.

Here is the call graph for this function:

◆ writeOperation()

void IDLWriter::writeOperation ( UMLOperation op,
QTextStream &  idl,
bool  is_comment = false 
)
private

Write one operation.

Parameters
opthe class for which we are generating code
idlthe stream associated with the output file
is_commentspecifying true generates the operation as commented out
Here is the call graph for this function:

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