umbrello  2.32.2
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:171
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1389
javaimport.h
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:421
umlpackagelist.h
UMLObject::ObjectType
ObjectType
Definition: umlobject.h:75
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:113
ClassImport::log
void log(const QString &file, const QString &text)
Definition: classimport.cpp:128
NativeImportBase::m_currentAccess
Uml::Visibility::Enum m_currentAccess
current access (public/protected/private)
Definition: nativeimportbase.h:94
UMLObject::name
QString name() const
Definition: umlobject.cpp:206
JavaImport::fillSource
void fillSource(const QString &word)
Definition: javaimport.cpp:89
JavaImport::parseFile
bool parseFile(const QString &filename)
Definition: javaimport.cpp:282
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:369
JavaImport::initVars
void initVars()
Definition: javaimport.cpp:53
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:481
JavaImport::findObject
static UMLObject * findObject(const QString &name, UMLPackage *parentPkg)
Definition: javaimport.cpp:143
Import_Utils::createGeneralization
UMLAssociation * createGeneralization(UMLClassifier *child, UMLClassifier *parent)
Definition: import_utils.cpp:598
JavaImport::spawnImport
void spawnImport(const QString &file)
Definition: javaimport.cpp:121
object_factory.h
UMLObject::ot_Interface
@ ot_Interface
Definition: umlobject.h:82
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:173
NativeImportBase::m_klass
UMLClassifier * m_klass
class currently being processed
Definition: nativeimportbase.h:93
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:493
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:54
import_utils.h
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1396
NativeImportBase::currentScope
UMLPackage * currentScope()
Definition: nativeimportbase.cpp:160
NativeImportBase::skipStmt
void skipStmt(const QString &until=QLatin1String(";"))
Definition: nativeimportbase.cpp:77
Uml::Visibility::Public
@ Public
Definition: basictypes.h:46
Import_Utils::remapUMLEnum
UMLEnum * remapUMLEnum(UMLObject *ns, UMLPackage *currentScope)
Definition: import_utils.cpp:741
NativeImportBase::skipToClosing
bool skipToClosing(QChar opener)
Definition: nativeimportbase.cpp:92
JavaImport::resolveClass
UMLObject * resolveClass(const QString &className)
Definition: javaimport.cpp:154
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:102
attribute.h
NativeImportBase::popScope
UMLPackage * popScope()
Definition: nativeimportbase.cpp:148
NativeImportBase::m_source
QStringList m_source
the scanned lexemes
Definition: nativeimportbase.h:90
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:222
UMLClassifier::setBaseType
void setBaseType(UMLObject::ObjectType ot)
Definition: classifier.cpp:78
Import_Utils::addMethodParameter
UMLAttribute * addMethodParameter(UMLOperation *method, const QString &type, const QString &name)
Definition: import_utils.cpp:567
uDebug
#define uDebug()
Definition: debug_utils.h:108
NativeImportBase::advance
virtual QString advance()
Definition: nativeimportbase.cpp:193
JavaImport::m_currentFileName
QString m_currentFileName
current filename being parsed
Definition: javaimport.h:41
JavaImport::~JavaImport
virtual ~JavaImport()
Definition: javaimport.cpp:46
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:95
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:351
JavaImport::joinTypename
QString joinTypename(const QString &typeName)
Definition: javaimport.cpp:64
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:275
Import_Utils::makeOperation
UMLOperation * makeOperation(UMLClassifier *parent, const QString &name)
Definition: import_utils.cpp:411
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:412
Uml::Visibility::Enum
Enum
Definition: basictypes.h:45
UMLObject::setDoc
void setDoc(const QString &d)
Definition: umlobject.cpp:450
ClassImport::importFiles
bool importFiles(const QStringList &fileNames)
Definition: classimport.cpp:87
Import_Utils::addEnumLiteral
void addEnumLiteral(UMLEnum *enumType, const QString &literal, const QString &comment, const QString &value)
Definition: import_utils.cpp:588
UMLDoc::findUMLObject
UMLObject * findUMLObject(const QString &name, UMLObject::ObjectType type=UMLObject::ot_UMLObject, UMLObject *currentObj=0)
Definition: umldoc.cpp:1068
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
Object_Factory::createNewUMLObject
UMLObject * createNewUMLObject(UMLObject::ObjectType type, const QString &name, UMLPackage *parentPkg, bool undoable)
Definition: object_factory.cpp:90
UMLObject::setUMLPackage
bool setUMLPackage(UMLPackage *pPkg)
Definition: umlobject.cpp:619
debug_utils.h
NativeImportBase::pushScope
void pushScope(UMLPackage *p)
Definition: nativeimportbase.cpp:138
NativeImportBase::split
virtual QStringList split(const QString &line)
Definition: nativeimportbase.cpp:319
UMLPackage::addObject
bool addObject(UMLObject *pObject, bool interactOnConflict=true)
Definition: package.cpp:130
UMLObject::asUMLPackage
UMLPackage * asUMLPackage()
Definition: umlobject.cpp:1405
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:91
package.h
JavaImport::JavaImport
JavaImport(CodeImpThread *thread=0)
Definition: javaimport.cpp:35
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:314
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1063
umldoc.h
UMLClassifier::addTemplate
UMLTemplate * addTemplate(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:1020
UMLPackage
Non-graphical information for a Package.
Definition: package.h:27
enum.h