umbrello  2.31.3
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
Public Member Functions | Private Member Functions | List of all members
PerlWriter Class Reference

#include <perlwriter.h>

Inheritance diagram for PerlWriter:
SimpleCodeGenerator CodeGenerator

Public Member Functions

 PerlWriter ()
 
virtual ~PerlWriter ()
 
virtual void writeClass (UMLClassifier *c)
 
virtual Uml::ProgrammingLanguage::Enum language () const
 
virtual QStringList reservedKeywords () const
 
QStringList defaultDatatypes ()
 
- 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 saveToXMI1 (QDomDocument &doc, QDomElement &root)
 
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 loadFromXMI1 (QDomElement &element)
 
CodeDocumentfindCodeDocumentByClassifier (UMLClassifier *classifier)
 
virtual bool isReservedKeyword (const QString &keyword)
 
virtual void createDefaultStereotypes ()
 

Private Member Functions

void writeOperations (UMLClassifier *c, QTextStream &perl)
 
void writeOperations (const QString &classname, UMLOperationList &opList, QTextStream &perl)
 
void writeAttributes (UMLClassifier *c, QTextStream &perl)
 
void writeAttributes (UMLAttributeList &atList, QTextStream &perl)
 
bool GetUseStatements (UMLClassifier *c, QString &Ret, QString &ThisPkgName)
 

Additional Inherited Members

- 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 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 PerlWriter is a Perl code generator for UMLClassifier objects. Just call writeClass and feed it a UMLClassifier.

Constructor & Destructor Documentation

◆ PerlWriter()

PerlWriter::PerlWriter ( )

◆ ~PerlWriter()

PerlWriter::~PerlWriter ( )
virtual

Member Function Documentation

◆ defaultDatatypes()

QStringList PerlWriter::defaultDatatypes ( )
virtual

Get list of default datatypes.

Returns
the list of default datatypes

Reimplemented from CodeGenerator.

◆ GetUseStatements()

bool PerlWriter::GetUseStatements ( UMLClassifier c,
QString &  Ret,
QString &  ThisPkgName 
)
private

◆ language()

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

Returns "Perl".

Returns
the programming language identifier

Implements CodeGenerator.

◆ reservedKeywords()

QStringList PerlWriter::reservedKeywords ( ) const
virtual

Get list of reserved keywords.

Returns
the list of reserved keywords

Reimplemented from CodeGenerator.

◆ writeAttributes() [1/2]

void PerlWriter::writeAttributes ( UMLClassifier c,
QTextStream &  perl 
)
private

Write all the attributes of a class.

Parameters
cthe class we are generating code for
perloutput stream for the Perl file

◆ writeAttributes() [2/2]

void PerlWriter::writeAttributes ( UMLAttributeList atList,
QTextStream &  perl 
)
private

Write a list of class attributes.

Parameters
atListthe list of attributes
perloutput stream for the Perl file

◆ writeClass()

void PerlWriter::writeClass ( UMLClassifier c)
virtual

Call this method to generate Perl code for a UMLClassifier.

Parameters
cthe class you want to generate code for

Implements SimpleCodeGenerator.

◆ writeOperations() [1/2]

void PerlWriter::writeOperations ( UMLClassifier c,
QTextStream &  perl 
)
private

Write all operations for a given class.

Parameters
cthe concept we are generating code for
perloutput stream for the Perl file

◆ writeOperations() [2/2]

void PerlWriter::writeOperations ( const QString &  classname,
UMLOperationList opList,
QTextStream &  perl 
)
private

Write a list of class operations.

Parameters
classnamethe name of the class
opListthe list of operations
perloutput stream for the Perl file

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