umbrello  2.35.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
javaimport.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2006-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef JAVAIMPORT_H
7 #define JAVAIMPORT_H
8 
9 #include "nativeimportbase.h"
10 
11 class UMLObject;
12 
20 {
21 public:
22  explicit JavaImport(CodeImpThread* thread = 0);
23  virtual ~JavaImport();
24 
25 protected:
26  void initVars();
27 
28  bool parseStmt();
29 
30  void fillSource(const QString& word);
31 
32  bool parseFile(const QString& filename);
33 
34  UMLObject* resolveClass (const QString& className);
35 
36  void spawnImport(const QString& file);
37 
38  QString joinTypename(const QString& typeName);
39 
40  bool m_isStatic;
42  QString m_currentPackage;
43  QStringList m_imports;
45 
50  static QStringList s_filesAlreadyParsed;
51 
56  static int s_parseDepth;
57 
58 private:
59  static UMLObject* findObject(const QString& name, UMLPackage *parentPkg);
60 
61 };
62 
63 #endif
64 
UMLObject::isUMLPackage
bool isUMLPackage() const
Definition: umlobject.h:217
NativeImportBase::scopeIndex
int scopeIndex()
Definition: nativeimportbase.cpp:176
javaimport.h
DEBUG_REGISTER
#define DEBUG_REGISTER(src)
Definition: debug_utils.h:129
Import_Utils::insertAttribute
UMLAttribute * insertAttribute(UMLClassifier *owner, Uml::Visibility::Enum scope, const QString &name, UMLClassifier *attrType, const QString &comment, bool isStatic)
Definition: import_utils.cpp:452
umlpackagelist.h
UMLObject::ObjectType
ObjectType
Definition: umlobject.h:75
logDebug1
#define logDebug1(s, a)
Definition: uml.h:541
Uml::Visibility::Implementation
@ Implementation
Definition: basictypes.h:49
JavaImport::s_parseDepth
static int s_parseDepth
Definition: javaimport.h:56
UMLClassifier::isInterface
bool isInterface() const
Definition: classifier.cpp:116
ClassImport::log
void log(const QString &file, const QString &text)
Definition: classimport.cpp:133
NativeImportBase::m_currentAccess
Uml::Visibility::Enum m_currentAccess
current access (public/protected/private)
Definition: nativeimportbase.h:95
UMLObject::name
QString name() const
Definition: umlobject.cpp:207
JavaImport::fillSource
void fillSource(const QString &word)
Definition: javaimport.cpp:92
JavaImport::parseFile
bool parseFile(const QString &filename)
Definition: javaimport.cpp:285
JavaImport::m_imports
QStringList m_imports
imports included in the current file
Definition: javaimport.h:43
UMLObject::setStatic
void setStatic(bool bStatic)
Definition: umlobject.cpp:370
JavaImport::initVars
void initVars()
Definition: javaimport.cpp:56
JavaImport::s_filesAlreadyParsed
static QStringList s_filesAlreadyParsed
Definition: javaimport.h:50
UMLObject::ot_Class
@ ot_Class
Definition: umlobject.h:85
operation.h
UMLObject::setVisibilityCmd
void setVisibilityCmd(Uml::Visibility::Enum visibility)
Definition: umlobject.cpp:482
JavaImport::findObject
static UMLObject * findObject(const QString &name, UMLPackage *parentPkg)
Definition: javaimport.cpp:146
Import_Utils::createGeneralization
UMLAssociation * createGeneralization(UMLClassifier *child, UMLClassifier *parent)
Definition: import_utils.cpp:627
JavaImport::spawnImport
void spawnImport(const QString &file)
Definition: javaimport.cpp:124
object_factory.h
UMLObject::ot_Interface
@ ot_Interface
Definition: umlobject.h:82
logError1
#define logError1(s, a)
Definition: uml.h:545
Import_Utils::createUMLObject
UMLObject * createUMLObject(UMLObject::ObjectType type, const QString &inName, UMLPackage *parentPkg, const QString &comment, const QString &stereotype, bool searchInParentPackageOnly, bool remapParent)
Definition: import_utils.cpp:184
logError4
#define logError4(s, a, b, c, d)
Definition: uml.h:563
NativeImportBase::m_klass
UMLClassifier * m_klass
class currently being processed
Definition: nativeimportbase.h:94
UMLObject::ot_Package
@ ot_Package
Definition: umlobject.h:81
Import_Utils::insertMethod
void insertMethod(UMLClassifier *klass, UMLOperation *&op, Uml::Visibility::Enum scope, const QString &type, bool isStatic, bool isAbstract, bool isFriend, bool isConstructor, bool isDestructor, const QString &comment)
Definition: import_utils.cpp:524
JavaImport
Definition: javaimport.h:19
UMLObject::ot_UMLObject
@ ot_UMLObject
Definition: umlobject.h:78
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
NativeImportBase::setMultiLineComment
void setMultiLineComment(const QString &intro, const QString &end)
Definition: nativeimportbase.cpp:58
import_utils.h
NativeImportBase::currentScope
UMLPackage * currentScope()
Definition: nativeimportbase.cpp:165
NativeImportBase::skipStmt
void skipStmt(const QString &until=QLatin1String(";"))
Definition: nativeimportbase.cpp:81
Uml::Visibility::Public
@ Public
Definition: basictypes.h:46
NativeImportBase::current
QString current()
Definition: nativeimportbase.cpp:186
Import_Utils::remapUMLEnum
UMLEnum * remapUMLEnum(UMLObject *ns, UMLPackage *currentScope)
Definition: import_utils.cpp:770
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1429
NativeImportBase::skipToClosing
bool skipToClosing(QChar opener)
Definition: nativeimportbase.cpp:96
JavaImport::resolveClass
UMLObject * resolveClass(const QString &className)
Definition: javaimport.cpp:157
UMLObject::asUMLPackage
UMLPackage * asUMLPackage()
Definition: umlobject.cpp:1438
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
NativeImportBase::m_isAbstract
bool m_isAbstract
accumulator for abstractness
Definition: nativeimportbase.h:103
attribute.h
NativeImportBase::popScope
UMLPackage * popScope()
Definition: nativeimportbase.cpp:152
NativeImportBase::m_source
QStringList m_source
the scanned lexemes
Definition: nativeimportbase.h:91
JavaImport::m_defaultCurrentAccess
Uml::Visibility::Enum m_defaultCurrentAccess
current visibility for when the visibility is absent
Definition: javaimport.h:44
UMLObject::fullyQualifiedName
virtual QString fullyQualifiedName(const QString &separator=QString(), bool includeRoot=false) const
Definition: umlobject.cpp:223
logDebug2
#define logDebug2(s, a, b)
Definition: uml.h:547
UMLClassifier::setBaseType
void setBaseType(UMLObject::ObjectType ot)
Definition: classifier.cpp:81
logError3
#define logError3(s, a, b, c)
Definition: uml.h:557
Import_Utils::addMethodParameter
UMLAttribute * addMethodParameter(UMLOperation *method, const QString &type, const QString &name)
Definition: import_utils.cpp:596
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1422
NativeImportBase::advance
virtual QString advance()
Definition: nativeimportbase.cpp:210
JavaImport::m_currentFileName
QString m_currentFileName
current filename being parsed
Definition: javaimport.h:41
JavaImport::~JavaImport
virtual ~JavaImport()
Definition: javaimport.cpp:49
JavaImport::m_isStatic
bool m_isStatic
static flag for the member var or method
Definition: javaimport.h:40
NativeImportBase::m_comment
QString m_comment
intermediate accumulator for comment text
Definition: nativeimportbase.h:96
CodeImpThread
Definition: codeimpthread.h:21
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
names
alter the names
Definition: GPL-2.0-only.txt:308
UMLObject::setAbstract
void setAbstract(bool bAbstract)
Definition: umlobject.cpp:352
JavaImport::joinTypename
QString joinTypename(const QString &typeName)
Definition: javaimport.cpp:67
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:349
Import_Utils::makeOperation
UMLOperation * makeOperation(UMLClassifier *parent, const QString &name)
Definition: import_utils.cpp:442
UMLDoc
Definition: umldoc.h:69
NativeImportBase
Base class for native implementations of language import.
Definition: nativeimportbase.h:39
Uml
Definition: basictypes.cpp:22
nativeimportbase.h
NativeImportBase::parseFile
virtual bool parseFile(const QString &filename)
Definition: nativeimportbase.cpp:429
Uml::Visibility::Enum
Enum
Definition: basictypes.h:45
UMLObject::setDoc
void setDoc(const QString &d)
Definition: umlobject.cpp:451
ClassImport::importFiles
bool importFiles(const QStringList &fileNames)
Definition: classimport.cpp:92
Import_Utils::addEnumLiteral
void addEnumLiteral(UMLEnum *enumType, const QString &literal, const QString &comment, const QString &value)
Definition: import_utils.cpp:617
UMLDoc::findUMLObject
UMLObject * findUMLObject(const QString &name, UMLObject::ObjectType type=UMLObject::ot_UMLObject, UMLObject *currentObj=0)
Definition: umldoc.cpp:1121
classifier.h
UMLOperation
Definition: operation.h:19
UMLObject::ot_Enum
@ ot_Enum
Definition: umlobject.h:84
uml.h
Object_Factory::createNewUMLObject
UMLObject * createNewUMLObject(UMLObject::ObjectType type, const QString &name, UMLPackage *parentPkg, bool undoable)
Definition: object_factory.cpp:93
UMLObject::setUMLPackage
bool setUMLPackage(UMLPackage *pPkg)
Definition: umlobject.cpp:620
debug_utils.h
NativeImportBase::pushScope
void pushScope(UMLPackage *p)
Definition: nativeimportbase.cpp:142
NativeImportBase::split
virtual QStringList split(const QString &line)
Definition: nativeimportbase.cpp:336
UMLPackage::addObject
bool addObject(UMLObject *pObject, bool interactOnConflict=true)
Definition: package.cpp:135
JavaImport::m_currentPackage
QString m_currentPackage
current package of the file being parsed
Definition: javaimport.h:42
Uml::Visibility::Private
@ Private
Definition: basictypes.h:47
NativeImportBase::m_srcIndex
int m_srcIndex
used for indexing m_source
Definition: nativeimportbase.h:92
package.h
JavaImport::JavaImport
JavaImport(CodeImpThread *thread=0)
Definition: javaimport.cpp:38
Uml::Visibility::Protected
@ Protected
Definition: basictypes.h:48
codeimpthread.h
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:23
JavaImport::parseStmt
bool parseStmt()
Definition: javaimport.cpp:317
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1139
umldoc.h
UMLClassifier::addTemplate
UMLTemplate * addTemplate(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:1025
logError2
#define logError2(s, a, b)
Definition: uml.h:551
UMLPackage
Non-graphical information for a Package.
Definition: package.h:27
enum.h