umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
javawriter.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3
4 SPDX-FileCopyrightText: 2003 Brian Thomas
5 <brian.thomas@gsfc.nasa.gov>
6 SPDX-FileCopyrightText: 2004-2022 Umbrello UML Modeller Authors
7 <umbrello-devel@kde.org>
8*/
9
10#ifndef JAVAWRITER_H
11#define JAVAWRITER_H
12
13#include "simplecodegenerator.h"
14#include "umloperationlist.h"
15#include "umlattributelist.h"
16#include "umlassociationlist.h"
17
18class UMLOperation;
19
30{
31public:
32 JavaWriter();
33 virtual ~JavaWriter();
34
35 virtual void writeClass(UMLClassifier *c);
36
38
39 QStringList defaultDatatypes() const;
40
41private:
42 void writeClassDecl(UMLClassifier *c, QTextStream &java);
43
44 void writeConstructor(UMLClassifier *c, QTextStream &java);
45
46 static bool compareJavaMethod(UMLOperation *op1, UMLOperation *op2);
47
48 static bool javaMethodInList(UMLOperation *umlOp, UMLOperationList &opl);
49
50 void getSuperImplementedOperations(UMLClassifier *c, UMLOperationList &yetImplementedOpList, UMLOperationList &toBeImplementedOpList, bool noClassInPath = true);
51
53
54 void writeOperations(UMLClassifier *c, QTextStream &j);
55
56 void writeOperations(UMLOperationList &oplist, QTextStream &j);
57
59 UMLAttributeList &atpriv, QTextStream &java);
60
61 void writeAssociationDecls(UMLAssociationList associations, Uml::ID::Type id, QTextStream &java);
62
63 void writeAssociationRoleDecl(QString fieldClassName, QString roleName, QString multi,
64 QString doc, Uml::Visibility::Enum visib, QTextStream &java);
65
67
68 void writeAssociationMethods(UMLAssociationList associations, UMLClassifier *thisClass,
69 QTextStream &java);
70
71 void writeAssociationRoleMethod(QString fieldClassName, QString roleName, QString multi,
73 QTextStream &java);
74
75 void writeSingleAttributeAccessorMethods(QString fieldClassName, QString fieldVarName,
76 QString fieldName, QString description,
78 bool isFinal, QTextStream &java);
79
80 void writeVectorAttributeAccessorMethods(QString fieldClassName, QString fieldVarName,
81 QString fieldName, QString description,
83 QTextStream &java);
84
85 void writeComment(const QString &text, const QString &indent, QTextStream &java, bool javaDocStyle=false);
86
87 void writeDocumentation(QString header, QString body, QString end, QString indent, QTextStream &java);
88
89 QString getUMLObjectName(UMLObject *obj);
90
91 QString fixTypeName(const QString& string);
92
93 QString fixInitialStringDeclValue(const QString& val, const QString& type);
94
95 void writeBlankLine(QTextStream& java);
96
97 QString m_startline;
99
100};
101
102#endif // JAVAWRITER_H
Definition: javawriter.h:30
QString fixTypeName(const QString &string)
Definition: javawriter.cpp:720
void writeClassDecl(UMLClassifier *c, QTextStream &java)
Definition: javawriter.cpp:268
virtual ~JavaWriter()
Definition: javawriter.cpp:40
void writeAttributeMethods(UMLAttributeList &atpub, Uml::Visibility::Enum visibility, QTextStream &java)
Definition: javawriter.cpp:409
void writeConstructor(UMLClassifier *c, QTextStream &java)
Definition: javawriter.cpp:699
void writeBlankLine(QTextStream &java)
Definition: javawriter.cpp:1002
void writeOperations(UMLClassifier *c, QTextStream &j)
Definition: javawriter.cpp:855
void getInterfacesOperationsToBeImplemented(UMLClassifier *c, UMLOperationList &opl)
Definition: javawriter.cpp:838
void writeVectorAttributeAccessorMethods(QString fieldClassName, QString fieldVarName, QString fieldName, QString description, Uml::Visibility::Enum visibility, Uml::Changeability::Enum change, QTextStream &java)
Definition: javawriter.cpp:630
bool m_isInterface
whether or not this concept is an interface
Definition: javawriter.h:98
QString getUMLObjectName(UMLObject *obj)
Definition: javawriter.cpp:993
QString fixInitialStringDeclValue(const QString &val, const QString &type)
Definition: javawriter.cpp:977
virtual Uml::ProgrammingLanguage::Enum language() const
Definition: javawriter.cpp:48
void writeDocumentation(QString header, QString body, QString end, QString indent, QTextStream &java)
Definition: javawriter.cpp:469
void writeComment(const QString &text, const QString &indent, QTextStream &java, bool javaDocStyle=false)
Definition: javawriter.cpp:429
void getSuperImplementedOperations(UMLClassifier *c, UMLOperationList &yetImplementedOpList, UMLOperationList &toBeImplementedOpList, bool noClassInPath=true)
Definition: javawriter.cpp:810
QString m_startline
a , used at the end of each line
Definition: javawriter.h:97
QStringList defaultDatatypes() const
Definition: javawriter.cpp:735
static bool compareJavaMethod(UMLOperation *op1, UMLOperation *op2)
Definition: javawriter.cpp:765
void writeAttributeDecls(UMLAttributeList &atpub, UMLAttributeList &atprot, UMLAttributeList &atpriv, QTextStream &java)
Definition: javawriter.cpp:368
JavaWriter()
Definition: javawriter.cpp:31
static bool javaMethodInList(UMLOperation *umlOp, UMLOperationList &opl)
Definition: javawriter.cpp:792
void writeAssociationRoleMethod(QString fieldClassName, QString roleName, QString multi, QString description, Uml::Visibility::Enum visib, Uml::Changeability::Enum change, QTextStream &java)
Definition: javawriter.cpp:609
virtual void writeClass(UMLClassifier *c)
Definition: javawriter.cpp:57
void writeAssociationRoleDecl(QString fieldClassName, QString roleName, QString multi, QString doc, Uml::Visibility::Enum visib, QTextStream &java)
Definition: javawriter.cpp:527
void writeSingleAttributeAccessorMethods(QString fieldClassName, QString fieldVarName, QString fieldName, QString description, Uml::Visibility::Enum visibility, Uml::Changeability::Enum change, bool isFinal, QTextStream &java)
Definition: javawriter.cpp:671
void writeAssociationMethods(UMLAssociationList associations, UMLClassifier *thisClass, QTextStream &java)
Definition: javawriter.cpp:565
void writeAssociationDecls(UMLAssociationList associations, Uml::ID::Type id, QTextStream &java)
Definition: javawriter.cpp:489
Definition: simplecodegenerator.h:30
QString indent()
Definition: simplecodegenerator.cpp:72
Definition: umlattributelist.h:21
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
The base class for UML objects.
Definition: umlobject.h:70
Definition: operation.h:20
static const char description[]
Definition: main.cpp:32
Enum
Definition: basictypes.h:202
std::string Type
Definition: basictypes.h:371
Enum
Definition: basictypes.h:291
Enum
Definition: basictypes.h:45
Definition: visibility.py:1
QList< UMLAssociation * > UMLAssociationList
Definition: umlassociationlist.h:12
QList< UMLOperation * > UMLOperationList
Definition: umloperationlist.h:12