umbrello 2.32.2
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:
SimpleCodeGenerator CodeGenerator

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 ()
 
virtual void writeClass (UMLClassifier *c)=0
 
- 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 saveToXMI1 (QXmlStreamWriter &writer)
 
CodeDocumentfindCodeDocumentByID (const QString &id)
 
virtual void writeCodeToFile ()
 
virtual void writeCodeToFile (UMLClassifierList &list)
 
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 loadFromXMI1 (QDomElement &element)
 
virtual Uml::ProgrammingLanguage::Enum language () const =0
 
CodeDocumentfindCodeDocumentByClassifier (UMLClassifier *classifier)
 
virtual QStringList defaultDatatypes () const
 
virtual bool isReservedKeyword (const QString &keyword)
 
virtual QStringList reservedKeywords () const
 
virtual void createDefaultStereotypes ()
 
virtual void initFromParentDocument ()=0
 

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

◆ 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

◆ 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.

◆ 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

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