umbrello  2.32.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
adawriter.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3 
4  SPDX-FileCopyrightText: 2002 Oliver Kellogg <okellogg@users.sourceforge.net>
5  SPDX-FileCopyrightText: 2003-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6 */
7 
8 #ifndef ADAWRITER_H
9 #define ADAWRITER_H
10 
11 #include "simplecodegenerator.h"
12 #include "umlclassifierlist.h"
13 
14 #include <QMap>
15 
16 class UMLAssociation;
17 class UMLOperation;
18 class QTextStream;
19 class QFile;
20 
29 {
30  Q_OBJECT
31 public:
32 
33  AdaWriter();
34  virtual ~AdaWriter();
35 
36  virtual void writeClass(UMLClassifier *c);
37 
39 
40  QStringList defaultDatatypes() const;
41 
42  virtual bool isReservedKeyword(const QString & rPossiblyReservedKeyword);
43 
44  virtual QStringList reservedKeywords() const;
45 
46 private:
47 
48  void declareClass(UMLClassifier *c, QTextStream &ada);
49 
50  void writeOperation(UMLOperation *op, QTextStream &ada, bool is_comment = false);
51 
54  QString& typeName, QString& roleName);
55 
56  static bool isOOClass(UMLClassifier *c);
57 
58  QString className(UMLClassifier *c, bool inOwnScope = true);
59 
60  static QString packageName(UMLPackage *p);
61 
62  void finalizeRun();
63 
64  static const QString defaultPackageSuffix;
65 
66  typedef QMap<QString, QFile*> PackageFileMap;
67 
73 
80 };
81 
82 #endif // ADAWRITER_H
document
GNU GENERAL PUBLIC LICENSE June Free Software Inc Franklin Fifth USA Everyone is permitted to copy and distribute verbatim copies of this license document
Definition: GPL-2.0-only.txt:8
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1389
template.h
UMLObject::ObjectType
ObjectType
Definition: umlobject.h:75
Uml::Visibility::Implementation
@ Implementation
Definition: basictypes.h:49
Uml::ProgrammingLanguage::Enum
Enum
Definition: basictypes.h:291
UMLClassifier::isInterface
bool isInterface() const
Definition: classifier.cpp:113
AdaWriter::reservedKeywords
virtual QStringList reservedKeywords() const
Definition: adawriter.cpp:538
AdaWriter::m_pkgsGenerated
PackageFileMap m_pkgsGenerated
Definition: adawriter.h:72
UMLAttributeList
Definition: umlattributelist.h:20
UMLObject::name
QString name() const
Definition: umlobject.cpp:206
CodeGenerator::getHeadingFile
virtual QString getHeadingFile(const QString &file)
Definition: codegenerator.cpp:404
UMLOperation::getParmList
UMLAttributeList getParmList() const
Definition: operation.cpp:173
UMLTemplate::getTypeName
virtual QString getTypeName() const
Definition: template.cpp:76
CodeGenerator::cleanName
static QString cleanName(const QString &name)
Definition: codegenerator.cpp:546
adawriter.h
UMLClassifier::getFilteredList
virtual UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: classifier.cpp:994
UMLObject::ot_Class
@ ot_Class
Definition: umlobject.h:85
operation.h
UMLClassifierListItem::getType
UMLClassifier * getType() const
Definition: classifierlistitem.cpp:98
AdaWriter::finalizeRun
void finalizeRun()
Definition: adawriter.cpp:664
UMLAttribute::getInitialValue
QString getInitialValue() const
Definition: attribute.cpp:94
AdaWriter::writeOperation
void writeOperation(UMLOperation *op, QTextStream &ada, bool is_comment=false)
Definition: adawriter.cpp:441
UMLClassifierListItem::getTypeName
virtual QString getTypeName() const
Definition: classifierlistitem.cpp:108
AdaWriter::AdaWriter
AdaWriter()
Definition: adawriter.cpp:36
Uml::RoleType::A
@ A
Definition: basictypes.h:237
Uml::ModelType::Logical
@ Logical
Definition: basictypes.h:28
CodeGenerator::findObjectsRelated
static void findObjectsRelated(UMLClassifier *c, UMLPackageList &cList)
Definition: codegenerator.cpp:619
UMLObject::ot_Interface
@ ot_Interface
Definition: umlobject.h:82
association.h
UMLObject::umlParent
UMLObject * umlParent() const
Definition: umlobject.cpp:674
AdaWriter::className
QString className(UMLClassifier *c, bool inOwnScope=true)
Definition: adawriter.cpp:84
SimpleCodeGenerator::overwritableName
QString overwritableName(UMLPackage *concept, const QString &name, const QString &ext)
Definition: simplecodegenerator.cpp:163
UMLObject::umlPackage
UMLPackage * umlPackage() const
Definition: umlobject.cpp:649
UMLObject::isStatic
bool isStatic() const
Definition: umlobject.cpp:361
Uml::ParameterDirection::Enum
Enum
Definition: basictypes.h:254
UMLClassifierList
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:12
AdaWriter::writeClass
virtual void writeClass(UMLClassifier *c)
Definition: adawriter.cpp:207
AdaWriter::language
virtual Uml::ProgrammingLanguage::Enum language() const
Definition: adawriter.cpp:53
SimpleCodeGenerator::indent
QString indent()
Definition: simplecodegenerator.cpp:72
AdaWriter::isOOClass
static bool isOOClass(UMLClassifier *c)
Definition: adawriter.cpp:61
AdaWriter::declareClass
void declareClass(UMLClassifier *c, QTextStream &ada)
Definition: adawriter.cpp:173
UMLObject::isAbstract
bool isAbstract() const
Definition: umlobject.cpp:343
SimpleCodeGenerator::m_indentLevel
int m_indentLevel
Definition: simplecodegenerator.h:73
Uml::ParameterDirection::InOut
@ InOut
Definition: basictypes.h:256
CodeGenerator::forceDoc
bool forceDoc() const
Definition: codegenerator.cpp:762
UMLObject::ot_EnumLiteral
@ ot_EnumLiteral
Definition: umlobject.h:90
umlclassifierlistitemlist.h
AdaWriter::m_classesGenerated
UMLClassifierList m_classesGenerated
Definition: adawriter.h:79
Uml::AssociationType::Aggregation
@ Aggregation
Definition: basictypes.h:94
AdaWriter::isReservedKeyword
virtual bool isReservedKeyword(const QString &rPossiblyReservedKeyword)
Definition: adawriter.cpp:521
Uml::Visibility::Public
@ Public
Definition: basictypes.h:46
UMLAttribute::getParmKind
Uml::ParameterDirection::Enum getParmKind() const
Definition: attribute.cpp:117
classifierlistitem.h
CodeGenerator::showGeneratedFile
void showGeneratedFile(const QString &filename)
Definition: moc_codegenerator.cpp:180
UMLObject::visibility
Uml::Visibility::Enum visibility() const
Definition: umlobject.cpp:461
it
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two distribute and or modify the software for each author s protection and we want to make certain that everyone understands that there is no warranty for this free software If the software is modified by someone else and passed we want its recipients to know that what they have is not the so that any problems introduced by others will not reflect on the original authors reputations any free program is threatened constantly by software patents We wish to avoid the danger that redistributors of a free program will individually obtain patent in effect making the program proprietary To prevent we have made it clear that any patent must be licensed for everyone s free use or not licensed at all The precise terms and conditions for distribution and modification follow TERMS AND CONDITIONS FOR DISTRIBUTION AND MODIFICATION This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License The refers to any such program or and a work based on the Program means either the Program or any derivative work under copyright a work containing the Program or a portion of it
Definition: GPL-2.0-only.txt:64
attribute.h
a
QString a
Definition: petalnode.cpp:13
SimpleCodeGenerator::m_endl
QString m_endl
Definition: simplecodegenerator.h:74
UMLObject::fullyQualifiedName
virtual QString fullyQualifiedName(const QString &separator=QString(), bool includeRoot=false) const
Definition: umlobject.cpp:222
folder.h
umlclassifierlist.h
AdaWriter::packageName
static QString packageName(UMLPackage *p)
Definition: adawriter.cpp:108
CodeGenerator::formatDoc
static QString formatDoc(const QString &text, const QString &linePrefix=QLatin1String(" *"), int lineWidth=80)
Definition: codegenerator.cpp:709
Uml::ProgrammingLanguage::Ada
@ Ada
Definition: basictypes.h:293
uDebug
#define uDebug()
Definition: debug_utils.h:108
SimpleCodeGenerator
Definition: simplecodegenerator.h:29
AdaWriter
Definition: adawriter.h:28
Uml::RoleType::B
@ B
Definition: basictypes.h:238
Uml::ParameterDirection::Out
@ Out
Definition: basictypes.h:257
AdaWriter::defaultDatatypes
QStringList defaultDatatypes() const
Definition: adawriter.cpp:498
UMLObject::toString
static QString toString(ObjectType ot)
Definition: umlobject.cpp:1180
Uml::AssociationType::Enum
Enum
Definition: basictypes.h:92
c
type show c for details The hypothetical commands show w and show c should show the appropriate parts of the General Public License Of the commands you use may be called something other than show w and show c
Definition: GPL-2.0-only.txt:301
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:275
UMLAttribute
Sets up attribute information.
Definition: attribute.h:22
AdaWriter::PackageFileMap
QMap< QString, QFile * > PackageFileMap
Definition: adawriter.h:66
UMLObject::isUMLDatatype
bool isUMLDatatype() const
Definition: umlobject.h:204
UMLPackageList
QList< UMLPackage * > UMLPackageList
Definition: umlpackagelist.h:11
Uml::Visibility::Enum
Enum
Definition: basictypes.h:45
UMLClassifierListItemList
Definition: umlclassifierlistitemlist.h:21
CodeGenerator::codeGenerated
void codeGenerated(UMLClassifier *concept, bool generated)
Definition: moc_codegenerator.cpp:166
classifier.h
uError
#define uError()
Definition: debug_utils.h:109
UMLOperation
Definition: operation.h:19
UMLObject::ot_Enum
@ ot_Enum
Definition: umlobject.h:84
uml.h
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
debug_utils.h
UMLAssociation
Sets up association information.
Definition: association.h:28
AdaWriter::~AdaWriter
virtual ~AdaWriter()
Definition: adawriter.cpp:45
Uml::AssociationType::Composition
@ Composition
Definition: basictypes.h:103
UMLTemplateList
QList< UMLTemplate * > UMLTemplateList
Definition: umltemplatelist.h:13
UMLTemplate
Sets up template information.
Definition: template.h:21
simplecodegenerator.h
AdaWriter::defaultPackageSuffix
static const QString defaultPackageSuffix
Definition: adawriter.h:64
Uml::Visibility::Private
@ Private
Definition: basictypes.h:47
CodeGenerator::forceSections
bool forceSections() const
Definition: codegenerator.cpp:772
Uml::Visibility::Protected
@ Protected
Definition: basictypes.h:48
UMLOperationList
QList< UMLOperation * > UMLOperationList
Definition: umloperationlist.h:12
umltemplatelist.h
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:24
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:23
UMLAssociationList
QList< UMLAssociation * > UMLAssociationList
Definition: umlassociationlist.h:12
umldoc.h
AdaWriter::computeAssocTypeAndRole
void computeAssocTypeAndRole(UMLClassifier *c, UMLAssociation *a, QString &typeName, QString &roleName)
Definition: adawriter.cpp:140
CodeGenerator::openFile
bool openFile(QFile &file, const QString &name)
Definition: codegenerator.cpp:520
UMLPackage
Non-graphical information for a Package.
Definition: package.h:27
enum.h